上一篇博客写了一个springboot项目的小demo,尽管是一个小demo但是可以将springboot的原理可以概括一下,springboot的核心其实就是项目当中的入口类App.java和@SpringBootApplication注解。入口类中有一个main方法,这是一个Java应用程序的入口方法。
那么其自动配置的运行原理是怎么样子的呢?
(1)关于@SpringBootApplication这个注解,其实这个注解是一个组合注解,因为这个注解类的底层是包含@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan等几个重要的注解,
1.其中@SpringBootConfiguration是一个配置注解,同时也是一个组合注解,springboot项目中使用SpringBootConfiguration替代@Configuration
2.@EnableAutoConfiguration开启自动配置类,SpringBoot的精华所在,自动配置的功能也是取决于这个注解。
3.@ComponentScan包扫描
以前需要自己在xml中配置的东西,springboot基本上自动帮忙配置了。
(2)接着分析@EnableAutoConfiguration注解
@EnableAutoConfiguration是一个组合注解,其底层也是包含@AutoConfigurationPackage和@Import
分析到这里大家可能有点看不懂了,我直接把我抄的学习笔记截图端上来,看笔记可能更清晰
第一个@AutoConfigurationPackage
第二个注解@Import,对设计模式比较了解的,这种类图应该看得懂。
整个过程就是springboot自动配置的奥秘,后面会加上一些其他的依赖,当前的spring.factories中的自动配置比较少。
觉得内容哪里不对的的可以留言评论。