Spring - 动态加载配置文件

时间:2011-10-27 11:34:12

标签: spring

我正在编写一个spring应用程序,其中每次都必须加载一个配置文件common-config.xml,并且必须动态加载另一个配置文件(产品特定的配置文件)以加载该配置文件,我有首先获取产品名称,然后形成配置文件名。

e.g。

ApplicationContext ctx = getApplicationContext(); // returns app ctx initialized at the application startup time

String productName = getProductName();
String version = getProductVersion();
String configFileName = productName + "-" + version + ".xml";

// load the above config file

春天有可能吗?

1 个答案:

答案 0 :(得分:0)

在解决您的问题时,我不确定您的代码示例是否朝着正确的方向发展。例如,您可以在创建任何上下文之前计算第二个文件名,然后将其传递给构造的上下文。

另一种选择是有两个上下文:第一个是使用common-config.xml构建的,第二个是使用动态生成的文件名构建的。第二个上下文将使用第一个上下文作为父级,因此它基本上可以访问其所有bean和设置。第二个上下文也可以独立于第一个上下文重新加载。