SpringCloud学习记录一:SpringBoot自动装配原理及Starter实现

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

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方式)
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值