美文网首页
如何实现application配置中自动提示自定义配置类属性

如何实现application配置中自动提示自定义配置类属性

作者: skyjilygao | 来源:发表于2020-05-09 18:03 被阅读0次

参考:blog.csdn.net/feeltouch/article/details/90109348

  1. 依赖springboot配置管理类
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
  1. 设置idea:利用idea生成spring-configuration-metadata.json文件
    在idea中, Ctrl + Alt + S 快捷键打开Settings,搜索Annotation Processors,接下来勾住Enable annonation processing保存
  2. 自定义配置类
    重点:必须要有@ConfigurationProperties("xxx") 该注解,否则在编译时不会生成spring-configuration-metadata.json文件。
    参考如下:
@Data
@Configuration
@ConfigurationProperties("sky")
public class SkyProperties {
    @Value("${sky.access-token:}")
    private String accessToken;

    @Value("${sky.business-id: }")
    private List<String> businessId;

    private SkyProperties.File file;

    @Data
    public static class File{
        private String root;
    }
}

注意:多层级属性,需要用内部类表示。如:如果application中是sky.file.root: "xxx",那么在配置类中表示 SkyProperties类中有个内部类File,File类有个属性root。
参考 springboot redis依赖中的RedisProperties类。

  1. 重新编译项目。
    clean -> compile
    如果有其他模块依赖,可能需要install而不是compile。
    重新编译后,在target/classes/META-INF下会生成spring-configuration-metadata.json文件。文件内容就是表明自定义配置类中各属性关联关系。
    有了这个文件,application中才会提示自定义属性

  2. 在配置文件application中配置属性
    此时在application中输入sky后会自定提示自定义配置类中前缀"sky"的相关属性

相关文章

网友评论

      本文标题:如何实现application配置中自动提示自定义配置类属性

      本文链接:https://www.haomeiwen.com/subject/haclnhtx.html