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

如何强制spring只有一个活动配置文件?

公良鸿禧
2023-03-14

共有1个答案

公冶昆杰
2023-03-14

spring_profiles_active环境变量实际上将设置活动概要文件。

如果希望获得活动概要文件,只需将环境添加到@SpringBootApplication类中,并引发任何类型的异常或在设置了多个概要文件的情况下关闭应用程序。

请看下面一个简单的实现。

import javax.annotation.PostConstruct;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.core.env.Environment;

@SpringBootApplication
public class SpringDemoApplication {

    private Environment environment;

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

    public SpringDemoApplication(Environment environment) {
        this.environment = environment;
    }

    @PostConstruct
    private void post() {
        if (!this.isThereJustOneActiveProfile()) {
            throw new RuntimeException("You must set just one profile.");
        }
    }

    private boolean isThereJustOneActiveProfile() {
        return (this.environment.getActiveProfiles().length == 1);
    }
}
 类似资料:
  • 我有一个用maven作为构建工具的应用程序。 我正在使用maven概要文件从不同的概要文件设置不同的属性。 假设我运行带有out的maven,并指定我希望spring的任何其他概要文件,将和作为活动概要文件。

  • 我正在试着做一双Spring靴。通过AWS ElasticBeanstalk制作罐子。一切正常,配置文件为“默认”。有人知道如何为java ElasticBeanstalk应用程序(而不是tomcat)设置活动配置文件(spring.profiles.active)吗。我总是得到“无活动配置文件集,返回默认配置文件:默认”。有没有办法直接设置虚拟机选项? 我已经在AWS管理控制台中设置了“spri

  • 当我修改文件时,它会在启动后加载配置文件,否则不会重新加载文件。我的IDE是。 我的问题:

  • 我有一个spring boot kafka客户端应用程序,其中有两个消费者在kafka中收听不同的主题和不同的消费者群。 为了实现,我需要下面有两个JAAS会议(使用不同的keytab文件) dc-jaas-A.conf文件 dc-jaas-B.conf 由于下面的connect tFactory在System.setProperty中设置dc-jaas-A.conf和dc-jaas-B.conf

  • Spring2.4.5。 正在尝试运行测试示例。 测试的配置取自,而必须取自文件夹。 我尝试了不同的选项<code>SPRING.PROFILES。活动,,在IntelliJ Idea的窗口中具有值,但确实有所帮助。 “我要运行的测试”具有以下注释:

  • 问题内容: 我的HTML代码只是将页面分为两列,分别为65%,35%。 在中 ,我有可变数据;在中 ,我有固定数据。即使两个具有两个不同的数据集,我也需要它们以相同的高度显示,以便背景色看起来好像填充了包含两者的框。当然,问题出在 ,因为其高度取决于当前显示在其中的数据量。 如何确保两列的高度始终相等? 问题答案: 将其包裹在包含背景色的包含div中,并在“列”之后添加一个清除div。 更新以解决