Spring应用自定义配置项如何在properties编辑时自动提示?

Spring Boot应用中配置项过多时,无疑会增加维护成本,对于自定义的配置项,若是缺少必要的文档说明,则更是令人不快,如果可以提示呢,不就轻松多了吗?

参考连接

添加依赖和编写配置类

为模块添加spring-boot-configuration-processor依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <version>1.5.16.RELEASE</version>
</dependency>
<!-- 版本请根据情况调整 -->

开启IDEA配置:

image-20210928190651292.png

编写配置类(各属性对应properties中的项):

@Component
@ConfigurationProperties(prefix = "my.mq.config") //配置项前缀,各个属性以此为前缀
// @ConfigurationProperties(prefix = "my.mq.config.") //错误示例:注意不要在最后面多写了个【点】
public class MyMqConfig {
    /**
     * mq地址
     */
    private String host = "10.20.47.206";
    /**
     * mq端口
     */
    private String port = "5672";
    /**
     * mq用户名
     */
    private String username = "rabbit";
    /**
     * mq密码
     */
    private String password = "123456";
    //getter & setter 省略
}

编译打包此模块,并确认生成jar文件的META-INF目录下包含此配置对应的json文件,properties属性与配置类属性对应:

image-20210928191716182.png

项目中添加包含此配置的maven依赖

请自行操作

在application.properties中提示配置项

通常IDEA会默认把application.properties文件当作Spring配置,文件前会有一个【叶子】图标,在输入时会自动提示,如下图

image-20210928192237374.png

在非application.properties中提示配置项

对于文件名称不是application.properties的配置文件,需要手动将该文件设置为Spring配置文件

image-20210928192954297.png
  1. 打开Project Structure
  2. 选择Modules
  3. 选择配置文件所在的模块,并单击Spring(未识别为Spring模块的请自行配置)
  4. 选择自动义Spring Boot配置
  5. 添加配置文件
  6. 选中文件(上图为my.mq.properties)并点击确定使其生效
image-20210928193331392.png

配置完成后,my.mq.properties前面会多出【叶子】图标,即可了,如上图所示

image-20210928193428811.png
// 使用实例
@Autowired 
private MyMqConfig myMqConfig;

public void test() {
    System.err.println(myMqConfig.getHost());
    // 若配置文件中重新设置了值,则打印此值,否则输出默认值
}

瞧啊,这就人性化多了吧!

其他

多有疏漏,还请指正!

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容