1、@EnableConfigurationProperties –是用来启用一个特性,可以把配置文件属性注入到bean的属性中(@EnableConfigurationProperties :@ConfigurationProperties)
2、@EnableAsync在类上启用异步调用,
在接口上使用@Async注解,或在类上使用@Async注解
(@EnableAsync:@Async)
3、@EnableXX内部工作原理就是 @Import导入一个或多个配置
4、@Import
@Import(User.class)可以引入多个普通bean ---表示被Spring容器托管
@Import(Config.class)可以导入配置类替代@Configuration ---配置的bean都会被Spring容器所托管
5、ImportSelector接口---内部导入选择装配
作用:selectorImports方法的返回值必须是class全名,该class被spring容器托管
selectorImports方法可以拿到注解的想起信息进行管理
(注解指的是使用了该ImportSelector的注解下的属性)
6、ImportBeanDefinitionRegistrar接口
实现该接口可以注册bean到spring容器进行管理
7、@Import中导入的class能拿到@EnableXX注解的属性
例如:
@Import(OutputLog.class)
Public @Interface EnableXX{
String name();
}
在OutputLog中实现ImportSelector或者BeanPostProcessor可以拿到
EnableXX的属性name的值
@EnableXX的工作原理实际上就是通过@Import导入指定的配置文件或bean装配到spring容器