自定义配置文件需要用到spring-boot-configuration-processor这个依赖,因此第一步需要在pom.xml文件中加入以下配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
第二步,创建一个配置信息类,如下面代码所示,其中有几点必须注意一下,1、配置文件类上面必须要加入@ConfigurationProperties注解,表示这是一个配置文件类的,在这个注解中prefix表示这个配置信息的前缀,即我这里配置的前缀是sec,这样我在配置里面的参数,securityJWT时,参数名就是sex.security-J-W-T。2、属性上面的注释可以用/**表示。这样在进行配置时,才能正常显示注释内容。
@ConfigurationProperties(prefix=Configuration.SEC_PREFIX)
public class Configuration implements Serializable{
private static final long serialVersionUID = -3507134574880487834L;
protected final static String SEC_PREFIX = "sec";
/**
* JWT加密密钥
*/
private String securityJWT;
public String getSecurityJWT() {
return securityJWT;
}
public void setSecurityJWT(String securityJWT) {
this.securityJWT = securityJWT;
}
}
第三步 修改启动类加入@EnableConfigurationProperties(Configuration.class)注解信息。其中的Configuration.class就是你自定义 的配置类。我的代码如下:
@SpringBootApplication
@EnableConfigurationProperties(Configuration.class)
public class ServiceGatewayApplication extends WebMvcConfigurationSupport{
public static void main(String[] args) {
SpringApplication.run(ServiceGatewayApplication.class, args);
}
}
最后我们就可以通过yml文件配置我们自定义的配置信息了。如我的配置是:
sec:
security-j-w-t: 123456