Spring Boot 自定义配置

Spring Boot 自定义配置

柳性安 2,930 2022-09-08

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编辑一下,发现已经可以提示了