SpringBoot的自动配置与@ConditionalOnClass、@ConditionalOnMissingClass、@ConditionalOnBean、@ConditionalOnMissingBean、@ConditionalOnProperty等注解有关。
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。SpringBoot的自动装配原理主要依赖于Spring框架提供的@Configuration、@ComponentScan和@Conditional等注解,配合SpringBoot提供的 @EnableAutoConfiguration和spring.factories配置文件,来实现自动装配的功能。
为了实现按需加载,SpringBoot提供了@ConditionalOnClass、@ConditionalOnMissingClass、@ConditionalOnBean、@ConditionalOnMissingBean、@ConditionalOnProperty等注解,开发者可以根据具体情况使用这些注解进行条件判断,从而决定是否需要自动装配。
SpringBoot的特点
SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;内嵌Tomcat或Jetty等Servlet容器;提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;尽可能自动配置Spring容器;提供准备好的特性,如指标、健康检查和外部化配置;绝对没有代码生成,不需要XML配置。