问题描述及解决方案

在Spring Boot项目中,有时需要配置自定义项目属性。
但在使用 @ConfigurationProperties 时,会报错

SpringBoot Configuration Annotation Processor not configured

原因是需要配置文件处理器,只需添加一个maven依赖即可。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

官方文档如下:

您可以@ConfigurationProperties使用spring-boot-configuration-processorjar 轻松地从带有注释的项目中生成自己的配置元数据文件。该jar包含一个Java注释处理器,在您的项目被编译时会被调用。要使用处理器,请包含对的依赖spring-boot-configuration-processor。

附:如何自定义项目属性

application.yml

limit:
  minMoney: 1
  maxMoney: 200
  description: 最少金额为${limit.minMoney}元,最大金额为${limit.maxMoney}元

LimitConfig.java

@Component
@ConfigurationProperties(prefix = "limit")
public class LimitConfig {

   private BigDecimal minMoney;

   private BigDecimal maxMoney;

   private String description;

	//以及对应Getter Setter
}

Controller.java

@RestController
public class HelloController {

    @Autowired
    private LimitConfig limitConfig;

    @RequestMapping(method = RequestMethod.GET, path = "/hello")
    public String hello() {
        return " 描述:" + limitConfig.getDescription();
    }	
}
文章作者: Jason_2k
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 极客卷毛——我的学习经验记录
Spring
喜欢就支持一下吧