springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程
springboot帮我们做了什么
通常搭建一个基于spring的web应用,我们需要做以下工作:
1、pom文件中引入相关jar包,包括spring、springmvc、redis、mybaits、log4j、mysql-connector-java 等等相关jar …
2、配置web.xml,Listener配置、Filter配置、Servlet配置、log4j配置、error配置 …
3、配置数据库连接、配置spring事务
4、配置视图解析器
5、开启注解、自动扫描功能
6、配置完成后部署tomcat、启动调试
一、导入依赖
我们只用导入jar包依赖,就能完成一些列配置 如:
spring-boot-starter-web包自动帮我们引入了web模块开发需要的相关jar包,
mybatis-spring-boot-starter帮我们引入了dao开发相关的jar包。
spring-boot-starter-xxx是官方提供的starter,xxx-spring-boot-starter是第三方提供的starter。
二、application.properties配置参数

那这里面的原理是啥呢?
首先我们导入了mybaits的starter jar包

然后定义了一个MybatisPlusProperties类用于接收配置文件中设置的参数

声明@ConfigurationProperties注解使配置文件的设置参数与当前类中的属性进行绑定

Spring的SpringFactoriesLoader机制会扫描classpath路径下的META-INF/spring.factories读取需要实现自动装配的配置类

看懂这个springboot实现自动装配的starter我们也可以自己手写一个starter来实现自动装配我们想要的配置类
首先我们创建一个映射属性类
其次创建配置类


然后将需要设置的配置参数写上去

最后将自定义starter项目打成jar包到本地仓库

在需要引用的项目中引入该jar包:添加自定义starter的依赖到pom.xml

----------------------------------------------------分割线---------------------------------------------------------
上面说道,需要在META-INF文件夹下新建一个spring.factories文件使springFactoriesLoader读取需要自动配置的类 这种自动配置方式比较灵活
也可以写一个自定义注解并添加到启动类上使factoriesLoader读取自动配置类(不使用spring.factories方式)


本文探讨了SpringBoot如何通过自动配置简化项目搭建,详细解释了SpringBoot Starter的作用,以及如何自定义Starter实现自动装配。内容涉及导入依赖、配置参数,并介绍了SpringFactoriesLoader的工作机制。
820

被折叠的 条评论
为什么被折叠?



