SpringBoot 自动配置原理:
1、@EnableAutoConfiguration 这个注解会"猜"你将如何配置 spring,前提是你已经添加了 jar 依赖项,如果 spring-boot-starter-web 已经添加 Tomcat 和 SpringMVC,这个注释就会自动假设您在开发一个 web 应用程序并添加相应的 spring 配置,会自动去 maven中读取每个 starter 中的 spring.factories 文件,该文件里配置了所有需要被创建spring 容器中 bean
2、在 main 方法中加上@SpringBootApplication 和@EnableAutoConfiguration
SpringBoot starter 工作原理
1、SpringBoot 在启动时扫描项目依赖的 jar 包,寻找包含 spring.factories 文件的 jar
2、根据 spring.factories 配置加载 AutoConfigure
3、根据@Conditional 注解的条件,进行自动配置并将 bean 注入到 Spring Context
Springboot 的优点是什么?
1、减少开发、测试时间和努力
2、使用 JavaConfig 有助于避免使用 XML
3、避免大量的 maven 导入和各种版本冲突
4、提供意见发展方法
5、通过提供默认值快速开始开发
6、没有单独的 web 服务器需要,这就意味着不再需要启动 Tomcat、Glassfish 或其他任何东西
7、需要更少的配置,因为没有 web.xml 文件。只需添加用@Configuration 注释的类,然后添加用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。甚至可以将@Autowired 添加到 bean 方法中,以使用 Spring 自动装入需要的依赖关系中