Spring Boot-Application.properties中的用户定义变量

时间:2019-07-19 16:52:47

标签: spring spring-boot spring-mvc spring-data

我正在尝试在application.properties文件中添加自定义变量。当我添加时,IDE(Eclipse 2019-06(4.12.0)和Spring Tool Suite 4.3.1都显示黄色警告“ abc.def是未知属性”。

问题类似于Spring boot - custom variables in Application.properties。 我尝试了@StephaneNic​​oll给出的方法。它仍然显示相同的警告。实际上,我在Eclipse中打开了项目https://github.com/snicoll-demos/spring-boot-configuration-binding。它仍然发出相同的警告。我还有什么需要做的吗?

这是一个小麻烦。但是想摆脱它。

1 个答案:

答案 0 :(得分:0)

您必须将spring-boot-configuration-processor添加到您的项目中:

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

然后使用注释@ConfigurationProperties及其前缀创建您的属性类,例如:

@Data
@ConfigurationProperties(prefix = "abc")
@Validated
public class AbcProperties {

    /**
     * Description of the property 'def'.
     */
    @NotNull private Long def = 0L;  // <- default value of the property

    // other props...
}

然后启用它:

@SpringBootApplication
@EnableConfigurationProperties(AbcProperties.class)
public class AbcApplication {
    //...
}

然后重建您的项目。完成这些步骤后,IDE将正确看到您的道具。

更多信息: