springboot 如何创建自定义starter
springboot Starter 是一个插件 和依赖包的集合他是可以由我们自己手动创建的 我们下面就来讲怎么样手动创建一个starter
首先引入jar 包
在pom.xml中引入SpringBoot自动化配置依赖jarspring-boot-configuration-processor和spring-boot-autoconfigure等jar包。
命名规则
spring-boot-starter-XX是springboot官方的starter
XX-spring-boot-starter是第三方扩展的starter
开始构建starter
1.创建一个基础属性类
类 也就是 包含需要的参数类
@ConfigurationProperties(prefix = "person")
例如 String name
这个注解用于 在application.yml / application.properties
中以person
开头的配置与该类中的属性一一映射
配置文件中 persion.name = 18 即 propperties文件里person.**
定义类名 例如
public class helloProperties
2 定义一个service 实现类 实现具体业务
3.starter 还需要一个核心启动类 (spring自动装配类)把刚才的类进行加载
@Configuration
@EnableConfigurationProperties(基础属性类) 可以进行自动配置属性类 使基础类的
@ConfigurationProperties注解生效并且自动配置进srping容器里
@ConditionalOnClass(HelloServiceConfiguration.class) @ConditionalOnClass(service实现类名称) 确定calsspath下存在该业务类自动配置spring中生效进行
@ConditionalOnProperty(prefix = "com.wisdom", value = "enabled", matchIfMissing = true) @ConditionalOnProperty
:判断指定的属性是否具备指定的值。当应用配置文件中有相关的配置才会执行其所注解的代码块。
类名称例如 HelloServiceAutoConfiguration
@Autowired private HelloServiceProperties helloServiceProperties;注入基础配置类
其他注解
使用的方法加上bean注入到spring当中
4 注册配置类
在项目resources文件夹下面新建一个META-INF文件,并在下面创建spring.factories文件
配置参数org.springframework.boot.autoconfigure.EnableAutoConfiguration=核心类路径
自我总结 详细请看 这篇优秀博客https://www.cnblogs.com/hello-shf/p/10864977.html