Java @PropertySource和应用程序上下文名称
我有一个@Configuration类。 此类具有@PropertySource 我希望每个应用程序都有一个不同的属性 例如:Java @PropertySource和应用程序上下文名称,java,spring,configuration,spring-environment,Java,Spring,Configuration,Spring Environment,我有一个@Configuration类。 此类具有@PropertySource 我希望每个应用程序都有一个不同的属性 例如: @Configuration @PropertySource("file:${my.properties-file}") public class Config { } 我想通过it上下文名称为每个应用程序配置每个属性 我的应用程序服务器目录结构: webapps/ my-app-a.war my-app-b.war 两者(my-app-a.wa
@Configuration
@PropertySource("file:${my.properties-file}")
public class Config {
}
我想通过it上下文名称为每个应用程序配置每个属性
我的应用程序服务器目录结构:
webapps/
my-app-a.war
my-app-b.war
两者(my-app-a.war和my-app-b.war)都是相同的web应用程序,区别在于它们部署在不同的上下文中两次
因此,我需要配置这2个属性:
my.properties.my-app-a=/source/properties/a.properties
my.properties.my-app-b=/source/properties/b.properties
如何创建自定义属性源解析程序来注入/考虑应用程序上下文名称以加载属性文件?您是否尝试使用spring配置文件?
或者使用maven,您可以将属性放在pom中,并根据构建war的配置文件将它们插入属性文件中您是否尝试使用spring配置文件?
或者使用maven,您可以将属性放在pom中,并根据构建war的配置文件,将它们插入属性文件中
我解决了为每个应用程序设置上下文配置的问题
不,我不能这样做。spring配置文件将由每个配置文件配置。属性否,我不能这样做。spring配置文件将由每个配置文件配置。属性我有点不清楚,您是否尝试过此方法,但它不起作用?或者说它工作了,但是工作太多了?还有更好的方法,可以为一场战争创建多个上下文,然后多次重命名和部署它。此外,这与SpEL无关,因为这里只有属性占位符,而不是SpEL。是@M.Deinum,我更改了问题。我错了,我以为SpEL是用来解析属性源位置的。不要使用
@PropertySource
,而是使用ApplicationContextInitializer
,手动注册PropertySource
。我有点不清楚,你试过了吗,没有成功?或者说它工作了,但是工作太多了?还有更好的方法,可以为一场战争创建多个上下文,然后多次重命名和部署它。此外,这与SpEL无关,因为这里只有属性占位符,而不是SpEL。是@M.Deinum,我更改了问题。我错了,我认为SpEL用于解析属性源位置。不要使用@PropertySource
,而是使用ApplicationContextInitializer
,手动注册PropertySource
。