1、自动配置类中有很多@Conditional注解的派生注解,用来判断哪些组件需要被纳入容器管理,满足条件后才会向容器中添加这些组件,以下列举出了一些派生注解:
这就是为什么在spring.factories有很多自动配置类,但并不是所有的自动配置类都会被纳入到容器中,因为不是所有的@Conditionale都会被满足,也就是说只有满足了@Conditional注解的组件才会被纳入到容器中,并由容器创建对象,否则容器中不会为该类创建对象。
2、怎么知道哪些自动配置类生效呢?在主配置文件中启动debug模式,查看自动配置报告:
debug=true
这样就可以在控制台看到哪些自动配置类启用,哪些未启用:
启用:
未启用: