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依赖就可以了 ,配置文件哪个项目 引入的就在哪个项目配置就可以了
浙公网安备 33010602011771号