gpt4 book ai didi

java - Spring 型材

转载 作者:搜寻专家 更新时间:2023-11-01 03:54:04 25 4
gpt4 key购买 nike

我对 Spring Platform 有点陌生。我正在实现基于 XML 的 Spring 配置文件。

我已经在 web.xml 中声明了一个配置文件,例如

<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>

我想在我的 Java 类中获得 Activity 配置文件值。

这是我的第一次尝试,但由于一些问题而无法正常工作。

GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
String profiles[] = ctx.getEnvironment().getActiveProfiles();
System.out.println(profiles[0]);

它向我显示空值。是否知道如何在 Java 类中激活配置文件?

最佳答案

创建一个ApplicationContextAware

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class ApplicationContextProvider implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;

public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
/ / Assign the ApplicationContext into a static variable
this.applicationContext = applicationContext;
}
}

在你的 spring xml 文件中将它注册为你的 web.xml 配置为获取的 bean

<bean id="myApplicationContextProvider" class="com.your.package.name.ApplicationContextProvider"></bean>

现在从你的java类中使用

ApplicationContextProvider.getApplicationContext().getEnvironment().getActiveProfile()

关于java - Spring 型材,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14148269/

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