springboot使用spring-boot-configuration-processor获取配置文件

springboot使用spring-boot-configuration-processor获取配置文件

springboot中获取配置文件的方式,通常大家最常用的是@Value(“${mail.username}”)的形式,也可以用spring-boot-configuration-processor来更优雅得读取配置文件。下面讲下具体用法。

  1. 引入pom文件
    在使用idea创建springboot项目的时候,可以选择。
    可见这种方式已经是非常常用且推荐的方式了
    也可以直接引入pom文件

    org.springframework.boot spring-boot-configuration-processor true
  2. 定义配置文件

我们先定义好自己的配置文件

mail.username=wjh
mail.password=wjh123
  1. 新建配置文件读取类

    @Data
    @Configuration
    @EnableConfigurationProperties(MailConfig.class)
    @ConfigurationProperties(prefix = MailConfig.PREFIX, ignoreInvalidFields = true)
    public class MailConfig {

    public static final String PREFIX = "mail"; // 这里对应配置文件中的mail前缀
    
    private String username;
    
    private String password;
    

    }

  2. 取用配置

    @Autowired
    MailConfig mailConfig;
    @Test
    void testProcess() {
    String name = mailConfig.getName();
    System.out.println(“name=”+name);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot Configuration Processor 是一个用于生成配置元数据的注解处理器,可以帮助我们在编译时生成配置元数据,方便 IDE 自动生成配置属性的提示和文档,提高开发效率。 下面是使用 Spring Boot Configuration Processor 的步骤: 1. 添加 Maven 依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> ``` 2. 在配置类上添加 `@ConfigurationProperties` 注解,指定配置属性的前缀: ```java @ConfigurationProperties(prefix = "myconfig") public class MyConfig { private String name; private int age; // getters and setters } ``` 3. 在配置属性上添加 `@ConfigurationProperties` 注解,指定属性名和默认值: ```java public class MyConfig { @ConfigurationProperties("name") private String name = "default"; @ConfigurationProperties("age") private int age = 18; // getters and setters } ``` 4. 在配置类同级目录下创建 `META-INF/spring-configuration-metadata.json` 文件,配置属性的元数据信息: ```json { "groups": [ { "name": "myconfig", "type": "com.example.demo.MyConfig", "sourceType": "com.example.demo.MyConfig" } ], "properties": [ { "name": "myconfig.name", "type": "java.lang.String", "description": "Name of the user", "defaultValue": "default" }, { "name": "myconfig.age", "type": "java.lang.Integer", "description": "Age of the user", "defaultValue": 18 } ] } ``` 5. 在 IDE 中使用配置属性时,会自动提示和补全属性名、类型、描述和默认值等信息。 注意:在使用 `@ConfigurationProperties` 注解时,需要在配置类上添加 `@EnableConfigurationProperties` 注解,或者在 Spring Boot 应用程序主类上添加 `@EnableConfigurationProperties(MyConfig.class)` 注解,才能使属性生效。 参考文档:https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-configuration-metadata.html#configuration-metadata-annotation-processor

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值