出于某种原因,我在这方面画了一个空白。我有一个多模块 Spring/Maven 项目。在 module1 中,我定义了一个名为“info”的单例 bean,它在 module1 中工作得很好。
然而,这个项目中的 module2(依赖于 module1)对“info”bean 的属性值进行了改进。Module2 的 Spring 配置已经包含 Module1 的配置。我应该使用什么 Spring 配置来设置此后续模块中定义的“信息”bean 的属性?
出于某种原因,我在这方面画了一个空白。我有一个多模块 Spring/Maven 项目。在 module1 中,我定义了一个名为“info”的单例 bean,它在 module1 中工作得很好。
然而,这个项目中的 module2(依赖于 module1)对“info”bean 的属性值进行了改进。Module2 的 Spring 配置已经包含 Module1 的配置。我应该使用什么 Spring 配置来设置此后续模块中定义的“信息”bean 的属性?
从 Spring 2.5 开始有一个 PropertyOverrideConfigurer。也许这就是你正在寻找的
这个页面上有一个小例子 http://ondra.zizka.cz/stranky/programovani/java/howto-substitutions_in_spring_configuration-tutorial.texy
在模块 2 中创建一个新的“信息”bean,以特定于模块 2 需求的方式对其进行配置。您可以在模块 2 配置中执行以下操作:
<import resource="classpath:/META-INF/module1-config.xml"/>
<bean name="info" class="Module1class"/>
这应该将正确的“信息”注入依赖的bean