gpt4 book ai didi

gradle - Spring Boot:PropertySourcesPlaceholderConfigurer未加载系统属性

转载 作者:行者123 更新时间:2023-12-03 06:10:51 25 4
gpt4 key购买 nike

我有一个Spring Boot应用程序,如下所示:

@SpringBootApplication
@PropertySource(ignoreResourceNotFound=true,value={"classpath:application.properties","classpath:util-${spring.profiles.active}.properties"})
@ComponentScan("com.jmarts")
@EnableTransactionManagement
public class Application extends SpringBootServletInitializer {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

@Override
protected SpringApplicationBuilderconfigure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
  • 我正在使用spring概要文件,并基于 Activity 概要文件,已加载正确的环境特定文件:utils-local.properties,utils-dev.properties等...
  • 当通过application.properties( Spring )设置配置文件时,例如spring.profiles.active = local都可以正常工作,正确的文件(utils-local.properties)已加载。
  • 通过-D提供文件(gradle bootRun -Dspring.profiles.active = local)不会加载配置文件。我能够验证是否传递了系统属性(打印systemProperties)

  • 我假设如果未配置,则Spring Boot将注册PropertySourcesPlaceholderConfigurer。

    最佳答案

    spring boot正式支持profile-specific properties using the naming convention application-{profile}.properties
    因此您可以删除“classpath:util-$ {spring.profiles.active} .properties”,并在类路径中添加application-local.properties,application-dev.properties等。

    关于gradle - Spring Boot:PropertySourcesPlaceholderConfigurer未加载系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34866370/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com