springboot注解–基础–05–EnableAutoConfiguration
1、介绍
@EnableAutoConfiguration 注解用于实例化bean
1.1、什么时候触发
当spring boot扫描到@EnableAutoConfiguration注解时
1.2、实例化bean步骤
- 从classpath中搜索所有META-INF/spring.factories配置文件
- 将其中org.springframework.boot.autoconfigure.EnableAutoConfiguration对应的value里的所有xxxAutoConfiguration类加载到IOC容器中
1.3、xxxAutoConfiguration类 命名
xxxAutoConfiguration类 命名只是约定的,不是必须要这样,比如你可以写成这样 UserAuto11Configuration22
1.4、自动装配原理
xxxAutoConfiguration类一般都会有@ConditionalOnxxx注解,通过这些条件注解来判断是否真正的创建xxxConfiguration对象。
spring boot的各种spring-boot-starter-xxx.jar也正是居于此注解来达到自动装配的目的。
2、META-INF/spring.factories的格式
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,\
org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\
org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration,\
org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration,\
org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\
3、案例
- 我有jar,是个给其他项目使用的依赖项
- 我想让我的jar里面的配置,在启动springboot的时候,自动完成实例化