1. target
1. 启动器只用来做依赖导入(导入配置模块)
2. 专门来写一个自动配置模块
3. 启动器依赖自动配置;别人只需要引入启动器(starter)
xxx-spring-boot-starter; 自定义启动器名
分析:
一个启动器需要两个模块,一个是自动装配模块,自动装配属性,定义好装配规则。
第二个是启动器引用自动配置模块。
将两个项目打包到maven仓库,或者私服仓库,
自己的其它项目引用启动器就行了,
在yaml或者properties中配置好启动器的属性就行了。
需要的注解
@Configuration 指定这是一个配置类
@ConditionalOnXXX 指定条件成立下,自动配置类生效
@AutoConfigureAfter 指定自动配置的顺序
@Bean 给容器中添加组件
@ConfigurationProperites 结合xxxProperties 类绑定相关的配置
@EnableConfigurationProperties // 让xxxProperties生效加入容器中
自动配置类如何能加载
将需要启动就加载的自动配置类,配置在META-INF/spring.properteis 中
2. 手写启动器~
2.1 自动装配,自定义属性
自动配置,pom,只留下下面的依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
<relativePath/>
</parent>
<!-- 自动配置模块... -->
<groupId>cn.bitqian</groupId>
<artifactId>bitqian-spring-boot-starter-autoconfigurer</