基于系统属性导入 Spring @Configurations



我正在尝试将我们的应用程序从基于Spring XML的配置迁移到基于注释的配置。在我们的一个 XML 文件中,比如说 application-config.xml ,我们有以下行:

<import resource="${jobName}/beans.xml" />

这里${jobName}是在 JVM 启动时设置的系统属性。还有其他系统属性用于加载其他 XML 资源。现在,在我的基于注释的配置中,我希望具有与XML文件本身类似的@Configuration类。因此,我有一个类ApplicationConfig,它将导入jobName特定的Configuration类。

我如何实现这一点?

@Configuration
@Import({somehow-need-to-use-system-property-to-import-appropriate-class})
class ApplicationConfiguration {
    //bean definitions
}

@Import用于将其他配置类导入 spring 上下文。

使用@ImportResource导入 xml 文件。

从 spring 3.1 开始,Spring 在 @Import 中支持系统属性。

我没有检查@ImportResource,但也应该有可能。

最新更新