springboot自定义starter

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>

    <!--
     自定义starter
     -->
    <dependencies>
        <!-- Compile dependencies -->
        <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>

定义读取配置文件的类

 

@ConfigurationProperties(prefix = "mayikt")//单独用这个注解的会报错这个注解要配合@Configuration 或@EnableConfigurationProperties
public class TokenProperties {
    private String tokenRedisHost;
    private String tokenRedisPwd;

    // mayikt.tokenRedisHost
    // mayikt.tokenRedisPwd
    /*
    tokenRedisHost=token-redis-host
    mayikt.token-redis-host
     定义配置文件的key的时候没有大写 都是为小写
     */
    public void setTokenRedisHost(String tokenRedisHost) {
        this.tokenRedisHost = tokenRedisHost;
    }

    public void setTokenRedisPwd(String tokenRedisPwd) {
        this.tokenRedisPwd = tokenRedisPwd;
    }

    public String getTokenRedisHost() {
        return tokenRedisHost;
    }

    public String getTokenRedisPwd() {
        return tokenRedisPwd;
    }
}

 

  将定义的方法和配置文件导入spring

 

 

@Configuration
@EnableConfigurationProperties(TokenProperties.class)//这个可以把配置文件导入
public class TokenAutoConfiguration {

    @Bean
    public TokenService tokenService() {
        return new TokenService();
    }
}

 

  定义方法

 

public class TokenService {

    @Autowired
    private TokenProperties tokenProperties;

    public String getToken() {
        System.out.println("模拟生成token");
        return tokenProperties.getTokenRedisHost() + "," + tokenProperties.getTokenRedisPwd();
    }
}

 

  作为第三方依赖引入的时候可以让别的项目读取到这个配置类

 

在resources\META-INF目录下面创建spring.factories 文件
文件的内容为
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.mayikt.config.TokenAutoConfiguration//这个就是刚才那个配置文件类,这样别的项目就可以读取到这个配置文件然后注入到spring里面了

 

  然后将此项目打成jar包在别的项目引入maven依赖就可以了 ,配置文件哪个项目 引入的就在哪个项目配置就可以了

posted @ 2020-01-21 11:02  dkws-2019  阅读(186)  评论(0编辑  收藏  举报