Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
其实就是简单、快速、方便!平时如果我们需要搭建一个 Spring Web 项目的时候需要怎么做呢?
但是如果使用 Spring Boot 呢?
很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套 Web 项目或者是构建一个微服务!
这里我们以mybatis为例 来探讨spring Boot的自动配置
1.编写我们的application.yml文件引入mybatis的相关配置
2.yml中的配置与 MybatisProperties.class及其相似
我们可以确定 yml中的mybatis配置注入到了 MybatisProperties.class中
那么现在的问题是spring boot是如何做到的
答案是通过MybatisAutoConfiguration配置类
我们可以看到@EnableConfigurationProperties注解将MybatisPropertises.class获取
完成了mybaitis的所有配置
但是还有一个问题那就是spring boot如何获取 MybatisAutoConfiguration 配置类呢?
我们可以在
找到答案
spring.factories中可以发现springboot的自动配置类关联了mybaties的自动配置类
通过导入
实现了spring boot ——> spring.factories ——> MybatisAutoConfiguration(这里真实配置了mybaities) <—— mybatiesproperies.class <—— application.yml
实现了spring 中xml中整合mybaties复杂的配置,但在springboot中,我们只需要关心yml的配置
设置依赖都可以通过idea自动导入。
而其他如redis,日志... 的导入也是相同的道理,大量的代码都不需要亲自去写,都可以通过简简单单的配置yml来搞定。