在我的应用程序中,Spring配置文件的导入是基于环境属性的,例如以下示例:
<import resource="classpath:/springcontext/text/dao_${environment}.xml" />
我们知道,在创建bean(property-placeholder)之前,Spring配置导入已经被解析。
但是我的要求是从Java代码中将“环境”设置为系统属性,因为环境值不是常量,它必须基于一些逻辑设置在Spring配置导入之前。我是否可以在某种程度上协助Spring实现这一点。
ApplicationContextInitializer
接口。创建一个实现它的类,注册它,然后就完成了。另外,你真的需要在代码中这样做吗?为什么不直接将spring.profiles.active
设置为环境变量呢? - M. DeinumApplicationContextInitializer
指定哪个配置文件是活动的。 - M. Deinum