SpringBoot 使用注解向容器中注冊Bean的方法總結


1、使用組件注解

如果使用組件注解需要搭配@ComponentScan,該注解會指定需要掃描的包,掃描以后,路徑內所有帶有組件注解的類都將被注冊進IOC容器當中

@Component:定義一個Bean

以下幾個注解功能都和@Component相同,一般用於特定位置,便於區分。

@Controller/RestController:定義一個Bean,用於標識控制器,其中@RestController包含了@ResponseBody注解,用於Rest風格接口的開發

2、使用@Bean、@Configuration注解

先使用@Configuration將一個類指定為配置類,在配置類中使用@Bean進行定義

運行時,該配置類,和類中的Bean都會被注入到容器中

  @Bean("Test1")
    public Test1 Test1(){
        return new Test1();
    }

直接返回需要注入的Bean對象實例即可,也可以省略Bean后面的參數,此時會以方法名作為Bean的標識

3、使用@Import注解

SpringBoot的@Import注解可以用於為容器中注冊Bean

有三種使用方法:

1、直接Import某個類,將這個類添加到IOC容器中

@Import( { A.class,B.class } )

2、導入實現了@ImportSelector接口的實現類

如果想根據某些屬性進行判斷是否導入某個Bean,則可以在@Import中傳入實現了@ImportSelector的實現類

在執行時,@Import如果判斷出傳入的是實現了@ImportSelecor接口的實現類,就會調用該類中的selectImport方法,判斷需要導入的configuration

3、導入實現了@ImportBeanDefinitionRegistrar接口的實現類

在執行時,會調用該類中的registerBeanDefinitions方法,通過參數中的BeanDefinitionRegistry可以進行Bean的注冊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM