Java 在多模块Maven项目中优化Springbean?

Java 在多模块Maven项目中优化Springbean?,java,spring,configuration,maven,multi-module,Java,Spring,Configuration,Maven,Multi Module,出于某种原因,我对此一无所知。我有一个多模块Spring/Maven项目。在module1中,我定义了一个名为“info”的单例bean,它在module1中工作得很好 然而,这个项目中的module2(依赖于module1)对“info”bean的属性值进行了改进。Module2的Spring配置已经包括Module1的配置。我应该使用什么样的Spring配置来设置后续模块中定义的“info”bean的属性?因为Spring 2.5有一个PropertyOverrideConfiguler。也

出于某种原因,我对此一无所知。我有一个多模块Spring/Maven项目。在module1中,我定义了一个名为“info”的单例bean,它在module1中工作得很好


然而,这个项目中的module2(依赖于module1)对“info”bean的属性值进行了改进。Module2的Spring配置已经包括Module1的配置。我应该使用什么样的Spring配置来设置后续模块中定义的“info”bean的属性?

因为Spring 2.5有一个PropertyOverrideConfiguler。也许这就是你要寻找的

这一页上有一个小例子

在模块2中创建一个新的“信息”bean,按照模块2的特定需求对其进行配置。 您可以在模块2配置中执行以下操作:

<import resource="classpath:/META-INF/module1-config.xml"/>
<bean name="info" class="Module1class"/>


这应该将正确的“信息”注入到依赖bean中

我很确定这是不可能的。我认为最好的方法是使用不同的id创建新bean,并将父属性设置为原始bean。然后,您必须确保新bean被设置到依赖它的module2bean中。您是对的。我必须重新设计这两个模块,并采用新的方法。谢谢。除了提供的值必须来自属性文件之外,这与我需要的非常接近……我需要通过Spring表达式计算我的值。不管怎样,谢谢你……很高兴知道这件事。好吧,我必须说这是我唯一知道的方式。也许您需要编写自己的bean来覆盖属性。请查看PropertyOverrideConfiguler中的applyPropertyValue方法。你可以这样做。当我这样做时,我的应用程序使用第二个“信息”bean,而输入第一个信息bean的值不存在。换句话说,第二个bean定义只是生成第二个bean……它代替第一个bean,而不是更改某些值。