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

基于系统属性在Spring Boot应用程序中设置配置文件

葛炜
2023-03-14

我想根据环境变量设置Spring的活动配置文件。为此,我编写了以下代码:

@Configuration
public class SpringBootApplicationInitializer
        implements ServletContextInitializer {

    @Override
    public void onStartup(ServletContext servletContext) {

        String platform = System.getProperty("platform");

        if ("prod".equals(platform)) {
            servletContext.setInitParameter("spring.profiles.active",
                                            "prod");
        } else if ("stag".equals(platform)) {
            servletContext.setInitParameter("spring.profiles.active",
                                            "stag");
        } else {
            servletContext.setInitParameter("spring.profiles.active",
                                            "dev");
        }
    }
}

这段代码被执行,但是,没有配置文件被设置为Spring writes:INFO-没有活动的配置文件集,返回到默认配置文件:default

我如何实现我想要的?

共有2个答案

白哲茂
2023-03-14

应用程序中尝试这样做。yml

spring:
  profiles:
    active: ${platform}
越鸿才
2023-03-14

我如何实现我想要的?

您可以简单地在SPRING_PROFILES_ACTIVE环境变量中设置所需的配置文件。

如果我不想为devenvironment设置这个变量,该怎么办?Spring将不会拾取活动的配置文件。

为了解决您的问题,有许多方法可以配置Spring Boot应用程序。如果您担心不使用此环境变量进行开发,请知道您仍然可以使用属性或YAML文件进行开发。

请记住,OS环境变量优先于应用程序属性(application.properties和YAML变体)。有关所有配置属性源的详细信息,请参阅文档。

 类似资料:
  • 问题内容: 配置 : Spring 2.5,Junit 4,Log4j 从系统属性中指定log4j文件位置 在运行时,使用-D java选项设置系统属性。一切都很好。 问题/我需要什么: 在单元测试时,未设置系统属性,并且文件位置未解析。 App使用Spring,想简单地配置Spring以 设置 系统属性。 更多信息: 要求仅用于配置。无法引入新的Java代码或IDE中的条目。理想情况下,Spri

  • Compile Sdk Version: 指定Android的编译版本. 对应build.gradle文件中的参数是: compileSdkVersion 23 Build Tools Version: 指定构建工具的版本. 对应build.gradle文件中的参数是: buildToolsVersion "23.0.2" SDK编译版本和构建工具的版本都是我们已经下载到本地的,如果本地没有就

  • cmf_set_option($key, $data, $replace = false) 功能 设置系统配置,通用 参数 $key: string 配置键值,都小写 $data: array 配置值,数组 $replace: array 是否完全替换 返回 bool 是否成功

  • X2.2.0新增 sp_set_option($key,$data) 功能: 设置系统配置,通用 参数: $key: 配置的键名,英文下划线小写,最好加上自己的应用或插件名作为前级 $data:配置的值,数组 返回: 类型boolean,true设置成功 使用: $result = sp_set_option('portal_custom_settings',array('test'=>1));

  • 你可以查看或更改 Navicat Monitor 的应用程序设置,例如端口、网站网址和 IP 地址。若要配置应用程序设置,请前往“配置”->“应用程序设置”。 这里列出了 Navicat Monitor 的应用程序设置。你可以编辑以下设置: 端口 Navicat Monitor 将侦听的端口号。 网站网址 将用于警报电子邮件内的 Navicat Monitor 网站网址。 IP 地址 如果机器已被

  • 您好,我最近在spring项目中将日志记录从log4j迁移到了log4j2。 一切正常,但我想知道如何设置属性