如何自定义SpringBoot starter
2021-03-01 本文已影响0人
迦叶_金色的人生_荣耀而又辉煌
上一篇 <<<SpringBoot中有哪些starter
下一篇 >>>SpringBoot启动流程说明
1.定义starter
1.1 引入依赖
spring-boot-autoconfigure:自动配置
spring-boot-configuration-processor:配置参数时自动弹出提示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
1.2 正常的springboot开发
a.java驼峰的变量名在配置时会自动以符号"-"隔开
b.在初始化类中可通过@Bean实例化相应的bean,供调用的地方直接从Spring容器中取得该bean。
@ConfigurationProperties(prefix = "jarye")
public class TokenProperties {
private String tokenRedisHost;
private String tokenRedisPwd;
}
@Configuration
@EnableConfigurationProperties(TokenProperties.class)
public class TokenAutoConfiguration {
@Bean
public TokenService tokenService() {
return new TokenService();
}
}
public class TokenService {
@Autowired
private TokenProperties tokenProperties;
public String getToken() {
return "result:" + tokenProperties.toString();
}
}
1.3 META-INF/spring.factories 设置自动加载内容
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.jarye.config.TokenAutoConfiguration
2.使用starter
2.1 自定义的jar包依赖
<!--自定义加载模块,artifactId必须遵循XXXX-springboot-starter-->
<dependency>
<groupId>com.jarye</groupId>
<artifactId>customize-springboot-starter</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
2.2 配置加载
jarye:
token-redis-pwd: 123455
token-redis-host: 127.0.0.1
2.3 使用
在springboot环境下可以直接使用(其他环境需要在WebInitializer里加入自定义模块的配置)
@Autowired
private TokenService tokenService;
推荐阅读:
<<<SpringBoot核心设计理念和核心组件
<<<SpringBoot中有哪些starter
<<<SpringBoot启动流程说明
<<<SpringBoot常用注解及外部jar包注入方式
<<<SpringBoot之web开发
<<<SpringBoot全局异常捕获
<<<SpringBoot整合各种持久层技术
<<<SpringBoot整合Mybatis分页插件
<<<SpringBoot使用Atomikos技术整合多数据源
<<<SpringBoot实现热部署
<<<SpringBoot性能调优
<<<SpringBoot的Actuator监控和Admin-UI可视化
<<<SpringBoot常见面试问题