编写springboot的starter

参考:https://www.cnblogs.com/2YSP/p/10911166.html

命名规范: Spring官方的Starter命名格式一般是spring-boot-starter-{name},比如spring-boot-starter-web 。而非官方的,官方建议artifactId命名应该遵循 {name}-spring-boot-starter的格式,如example-spring-boot-starter。

一、引入依赖

        <!--starter相关 编译时生成 spring-configuration-metadata.json ,此文件主要给IDE使用-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!--starter相关 自动装配-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>

二、配置文件类(使用redis配置举例)

@Data
@ConfigurationProperties(prefix = "spring.redis")
public class RedisProperties {

    /**
     * 主机地址
     */
    private String host;
    /**
     * 密码
     */
    private String password;
    /**
     * 数据库
     */
    private int database;
    /**
     * 端口
     */
    private int port;

    /**
     * 集群配置
     */
    private ClusterProperties cluster;

    @Data
    public static class ClusterProperties{

        /**
         * 是否开启集群
         */
        private Boolean enabled;
        /**
         * 集群节点
         */
        private String nodes;
        /**
         * 集群时重定向次数
         */
        private int maxRedirects = 8;
    }

三、编写service类

public class RedisService{


    private String host;

 
    public StarterService(String host){

        this.host= host;

    }

}

四、编写配置类

@Configuration
//@ConditionalOnClass(RedisService.class)
//@ConditionalOnProperty(prefix = "cn.sp",value = "enable",matchIfMissing = true)
@EnableConfigurationProperties(RedisProperties.class)
public class CommonAutoConfigure {

    @Autowired
    private RedisProperties properties

    @Bean
    public RedisService redisServiceInit() {
        return new RedisService(properties.getHost());
    }
}

最后创建spring.factories

在 resources/META-INF/ 文件夹下创建spring.factories文件

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.winyo.commonstarter.config.CommonAutoConfigure

执行mvn install命令打包到本地
在另外一个项目添加依赖

        <!--common-starter-->
        <dependency>
            <groupId>com.winyo</groupId>
            <artifactId>common-starter</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值