如何在springboot中基于​​环境中设置的配置文件加载特定的xml

时间:2019-07-03 11:48:20

标签: java spring spring-boot

假设我的项目中有XML文件,例如a.xmlb.xmlc.xml

现在,我想基于spring boot中设置的配置文件加载特定的XML。
例如-如果个人资料是test1,那么我想加载a.xml
____如果配置文件是test2,那么我想加载b.xml,依此类推。

如何使用Spring Boot实现这一目标。任何帮助将非常感激。我是新来的。因此,我找不到适合的解决方案。

1 个答案:

答案 0 :(得分:0)

首先,您的配置xml应该定义为其定义bean的概要文件。

第二,所有这些都应该已经加载,spring不会使用特定于未激活配置文件的定义

file a.xml:
<beans profile="test1">
 ... your bean definitions that only get activated on profile test1 here
</beans>
file b.xml:
<beans profile="test2">
 ... your bean definitions that only get activated on profile test2 here
</beans>

现在您所有的xml文件都定义了运行的配置,您可以使用所有配置文件来启动整个应用程序。

和魔术:您可以通过spring boot提供的任何方式更改配置文件,无论是环境变量,编程方式,启动时的参数。...方式无穷无尽

有关此信息,请参见profile documentationbaeldung tutorial about profiles

启动后,只有激活的配置文件的bean将在那里,具有未激活的配置文件的xml的bean将不存在(我猜/认为配置仍将被加载,将不会为其创建实例)