spring-boot - Spring Boot 以编程方式设置配置文件

标签 spring-boot tomcat8 spring-profiles

如何在 Spring Boot 应用程序中设置事件配置文件。此应用程序将部署在独立的 Tomcat 中。

我有 2 个属性文件 application-{profile}.properties。

我的应用类

    @SpringBootApplication
        public class Application extends SpringBootServletInitializer {

            @Override
            protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {        
                return application.sources(Application.class);
            }

            public static void main(String[] args) {
               System.setProperty(AbstractEnvironment.ACTIVE_PROFILES_PROPERTY_NAME, "dev");
 ApplicationContext ctx = SpringApplication.run(Application.class, args);
      }
    }

如果我使用嵌入式 tomcat 运行应用程序,则开发配置文件设置为事件状态并且工作正常。但是当我部署在独立的tomcat中时。这没用。

我试图在配置方法中设置事件配置文件。但是当我从上下文中获取环境时,我得到空指针异常。

有关如何设置事件配置文件的任何帮助。

最佳答案

您可以在启动时设置其他配置文件:

   SpringApplication springApp = new SpringApplication(Main.class);
   springApp.setAdditionalProfiles("profile1", "profile2");
   springApp.run(args);

关于spring-boot - Spring Boot 以编程方式设置配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31267274/

相关文章:

spring-boot - 如何在IntelliJ IDEA社区中使Spring Boot的自动重启工作? (出/建目录问题)

linux - 如何设置 iptables 以允许 Web 流量传输到我的 Spring Boot 应用程序?

Tomcat - 将数据库连接移出 server.xml

java - 我可以将内部 Spring Boot 变量传递给 gradlew 吗?

java - 即使未在 Spring Boot 配置文件中指定,也会在 Spring Boot 中加载方法

mysql - 为什么只有部分信息上传到数据库?

java - 如何在 HierarchicalStreamReader 转换器中使用 xml 标签获取 xml 元素的值

java - 服务器:[http-nio-8080-exec-7] org.apache.coyote.http11.Http11Processor.service 错误处理请求 java.lang.NullPointerException

java - 为什么 TomCat 8 不能在我的 Ubuntu 15.04 系统上运行?

java - Spring - 如果存在主 bean,则不要创建 bean