gpt4 book ai didi

java - Spring - 使用作为依赖项添加的 .jar 文件中的 applicationContext

转载 作者:行者123 更新时间:2023-11-30 07:14:20 27 4
gpt4 key购买 nike

想象这样一种情况,有 2 个独立的模块 - 模块 A 和 B。它们都是使用 Spring 构建的。它们每个都有自己的 applicationContext - 模块 A 与 applicationContextA 和 B - applicationContextB 一起工作。
模块 A 包含外观类 - 在 bean moduleAFacade 中定义 - 提供模块 A 的一些功能。模块 B 需要访问模块 A 的功能。
让我们将模块 A 添加为模块 B 中的 .jar 依赖项。applicationContextB中有这样的构造:

<bean id="moduleBBeanUsingModuleAfacade" class="com.example.moduleB">
<property name="moduleAFacadeObject" ref="moduleAFacade" />
</bean>

但是模块 A 的 applicationContext 不能直接从模块 B 的 appContext 访问。我需要使用像

这样的东西
<import resource="classpath*:moduleAApplicationContext.xml" /> 

是否有任何其他方法可以访问作为依赖项添加到项目中的 .jar 文件的应用程序上下文?
是否有一些最佳实践来完成任务?


最佳答案

可以在模块A中定义一个配置文件

package you.organisation.moduleA.config;
@Configuration
@ImportResource("classpath:path/to/applicationContextA.xml")
public class ModuleAConfig implements Serializable {

}

在模块B的上下文文件中,你可以访问模块A的bean

<context:component-scan base-package="you.organisation.*.config" />

如果你想使用模块 B 配置文件,你也这样做

package you.organisation.moduleB.config;
@Configuration
@ImportResource("classpath:path/to/applicationContextB.xml")
public class ModuleBConfig implements Serializable {

}

在将要使用它的模块中

<context:component-scan base-package="you.organisation.*.config" />

关于使用通配符时必须小心的最佳实践,请有look to the section 4.7.2.2

关于java - Spring - 使用作为依赖项添加的 .jar 文件中的 applicationContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18513380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com