Starter 是一个插件 和依赖包的集合
他是可以由我们自己手动创建的 我们下面就来讲怎么样手动创建一个starter
首先引入jar 包
在pom.xml中引入SpringBoot自动化配置依赖spring-boot-autoconfigure:
spring-boot-configuration-processor
两个jar包
1.首先starter 依赖包由组件构成 要创建业务类 即service服务类
2.还要创建一个基础属性类
类 也就是 包含需要的参数类
@ConfigurationProperties(prefix = "person")
这个注解用于 在application.yml / application.properties
中以person
开头的配置与该类中的属性一一对应
即 propperties文件里person.**
3.starter 还需要一个核心启动类 把刚才的类进行加载
@Configuration 标注配置类
@ConditionalOnClass(业务类名称) 确定calsspath下存在该业务类配置生效进行
@EnableConfigurationProperties(基础属性类) 可以进行自动配置属性类 使基础类的@ConfigurationProperties注解生效并且自动配置进srping容器里
@EnableConfigurationProperties将application.properties中对应的属性配置设置于Properties对象中;
要用@atuwer 注入 基础配置类
还有业务类
业务类加注解
@Bean
@ConditionalOnMissingBean(业务类名)
@ConditionalOnProperty(prefix = "前缀名",value = "enabled", havingValue = "true")
KiteService kiteService(){
return new KiteService(kiteProperties);
}
@ConditionalOnMissingBean(业务类名):
与 @Bean 配合使用,只有在当前上下文中不存在某个 bean 的情况下才会执行所注解的代码块,也就是当前上下文还没有 KiteService 的 bean 实例的情况下,才会执行 kiteService() 方法,从而实例化一个 bean 实例出来。
@ConditionalOnProperty:
当应用配置文件中有相关的配置才会执行其所注解的代码块。
使用的方法加上bean注入到spring当中
最后在metat-info下面 创建一个spring.factorie
springboot 自动扫描到这
加载starter配置
rg.springframework.boot.autoconfigure.EnableAutoConfiguration=核心类路径