RxJava编程语言爱好者Java服务器端编程

如何自定义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常见面试问题

上一篇下一篇

猜你喜欢

热点阅读