容器功能
1. 组件添加
1.1 @Configuration结合@Bean注册组件
@Configuration 见 Spring.md 8.4.1 @Configuration
1.2 @Component、@Controller、@Service、@Repository
见 Spring.md 相关内容
1.3 @ComponentScan
见 Spring.md 8.4.2 @ComponentScan
1.4 @Import
见 Spring.md 8.4.5 @Import---多个配置类的读取注解配置
1.5 @Conditional
见 Spring.md 8.4.7 @Conditional
2. 原生配置文件引入
2.1 @ImportResource
见 Spring.md 8.4.8 @ImportResource
3. 配置绑定
将配置文件(properties等)中的配置对应绑定到JavaBean的属性中,SpringBoot提供了以下几种方式
只能跟SpringBoot固定的主配置文件(application.properties/yaml/yml)进行绑定
注:只有在容器中的组件,才会拥有SpringBoot提供的强大功能,所以必须将@ConfigurationProperties标注的类注册到容器中
3.1 @Component + @ConfigurationProperties
@Component和@ConfigurationProperties都要标注在JavaBean上
@ConfigurationProperties的prefix属性要传入配置文件中配置项的前缀
3.2 @EnableConfigurationProperties + @ConfigurationProperties
@EnableConfigurationProperties标注在配置类上,@ConfigurationProperties标注在JavaBean上
@ConfigurationProperties的prefix属性要传入配置文件中配置项的前缀,@EnableConfigurationProperties的value属性传入JavaBean的Class,可以是多个
这里的@EnableConfigurationProperties实现了两个功能:
- 开启Car与核心配置文件中配置项的配置绑定功能
- 把这个Car这个组件自动注册到容器中
多用于JavaBean在第三方jar包中的情况,因为这种情况下我们无法在第三方jar中的JavaBean上标注@Component