Spring Boot 自定义配置
自定义配置
在做Spring Boot相关的项目的时候,项目中一些外部接口的信息不方便固定死,于是打算使用自定义配置,在application.properties/application.yml中自定义配置信息,自定义配置并不困难,有非常多的样例可以参考,例如:
@ConfigurationProperties("wexin.mp")
@Component
public class WrapServiceProperties {
private String prefix;
private String suffix;
public String getPrefix() {
return prefix;
}
public void setPrefix(String prefix) {
this.prefix = prefix;
}
public String getSuffix() {
return suffix;
}
public void setSuffix(String suffix) {
this.suffix = suffix;
}
}
经过以上注解配置(@Component是用于申明Bean,@ConfigurationProperties(“example.service”)申明这是一个自定义配置类,并且这个自定义类的配置前缀是example.service。
完成了以上工作,我们就可以在application.properties中添加我们的自定义配置
wexin.mp.prefix=###
wexin.mp.suffix=@@@
配置信息的名字注意和类属性保持一致,但是,当我们去IDEA编辑一下我们的配置,发现!
配置的部分还是黄色的??
Spring内部的配置信息是都可以提示的,如果不能提示,使用的时候会非常不友好,敲配置信息容易出错,特别是你如果自定义starter给其他人用,别人完全无法知道哪些是可配置的信息。那么怎么去配置可提示的配置信息?
让IDEA自动提示自定义配置
怎么做?
maven中添加一个依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
或者gradle
dependencies {
optional "org.springframework.boot:spring-boot-configuration-processor"
}
这个类库会在编译时生效,作用就是生成自定义配置的元信息,IDEA提示会依赖这个文件,在添加这个类库后,我们尝试build一次项目
这时候,我们再去application.properties编辑一下,发现已经可以提示了