向容器中注册组件的方法常见的有以下几种方式:
1. @ComponentScan注解 + (@Controller/@Service/@Reponsitory,@Componet)中的任何一个进行组合,
一般是自己编写的类;
2. @Bean注解,导入第三方的类或包的组件,用于将方法返回值的对象放入到容器中,默认以方法名为对象id;
3. @Import注解,导入指定的类;
4. @ImportResource注解,导入外部XML资源
5. @PropertySource注解,可以加载指定的、非application.properties文件的、未在SpringBoot默认加载目录的、
自定义的属性文件(*.properties)到Spring容器中。
6. 将实现spring的FactoryBean<T>接口的自定义对象, 通过@Bean的方式加入到Spring容器中;
7. @Conditional注解,将满足条件的Bean注册到Spring容器中,需要和@Bean一起使用。
添加到类上:当满足自定义的条件时,类中所有的添加了@Bean注解的方法都会完成注册,否则将全部无法注册;
添加到方法上:当满足自定义的条件时,方法中添加了@Bean就会完成注册,否则无法注册。
9. @Configuration 和 @Bean组合,用于定义配置类,可替换xml配置文件,将配置类加入到Spring容器中;