当前位置: 首页 > 知识库问答 >
问题:

spring-boot:将默认值设置为可配置属性

谭高峯
2023-03-14

我在spring-boot项目中有一个properties类。

@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {
    private String property1;
    private String property2;

    // getter/setter
}

现在,我想将property1的application.properties文件中的其他属性设置默认值。与下面的示例使用@value所做的类似

@Value("${myprefix.property1:${somepropety}}")
private String property1;
@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {
    private String property1 = "default value"; // if it's static value
    private String property2;

    // getter/setter
}

共有1个答案

赵晨
2023-03-14

检查是否使用MyProperties类中的@PostContruct设置了property1。如果不是,你可以把它分配给另一个财产。

@PostConstruct
    public void init() {
        if(property1==null) {
            property1 = //whatever you want
        }
    }
 类似资料:
  • 主要内容:默认配置文件,示例通常情况下,Spring Boot 在启动时会将 resources 目录下的 application.properties 或 apllication.yml 作为其默认配置文件,我们可以在该配置文件中对项目进行配置,但这并不意味着 Spring Boot 项目中只能存在一个 application.properties 或 application.yml。 默认配置文件 Spring Boot

  • 我试图在Spring Boot环境中设置一个clamav病毒扫描程序。因此,我想在属性文件clamav.properties中设置主机和端口,该文件与application.properties文件一起位于我的resources目录中。看起来是这样的: 我有这门课: 它没有连接,在日志中我得到这个: 因此,这些值显然没有设置。我做错了什么?我使用的是spring boot starter web的

  • 我使用SpringBoot提供了许多不同的服务。我想为每个服务设置一些通用的配置,但允许服务拥有自己的属性,并在需要时覆盖它们。示例属性包括spring。显示_横幅、管理url等。 我该怎么做?如果我有以下资料: 使用默认属性的src/main/Resources/application.yml服务公共 服务1与src/main/资源/application.yml与自己的属性 我希望它们与优先的

  • 如果未设置,我希望默认活动配置文件为。 Spring-boot版本=1.3.5。发行版

  • 我尝试使用liquibase使用liquibase“addDefaultValue”语法将我的列的默认值设置为null: 但是向myTable插入新行显示默认值仍然设置为“false”,就像以前一样。所以liquibase更改集不起作用。 如何设置列默认值为null与liquibase?

  • 我目前使用的@Value Spring 3.1.x注释如下所示: 如果属性不存在,这会将一个空字符串放入变量中。我希望将null作为默认值,而不是空字符串。当然,我还希望避免在未设置属性stuff.value时出现错误。