【发布时间】:2011-05-20 20:05:35
【问题描述】:
我在尝试使用 AnnotationConfigApplicationContext 定义上下文层次结构时遇到问题。
问题在于在 beanRefContext.xml 中定义模块上下文并使用另一个上下文(基于 XML/Annotated)设置“父”属性时。
例子:
模块 A 中的 beanRefContext.xml
db-context.xml
模块 B 中的 beanRefContext.xml
FooHibernateDao
类 FooHibernateDao 实现 FooDao { @自动连线 @Qualifier("sessionFactory") 私有 SessionFactory 会话工厂; // CRUD 方法 }模块 B 应用程序上下文找不到在模块 A 应用程序上下文中定义的 bean。
从AnnotationConfigApplicationContext的代码来看,扫描过程似乎没有使用父级作为参考来解析bean。
是不是我做错了什么,或者我尝试通过注释配置来创建层次结构是不可能的?
【问题讨论】:
-
这应该可以正常工作。您能否举例说明未找到的 bean 定义,以及子上下文如何尝试解决它?
-
db-context.xml 在其中配置了数据源和 sessionFactory(简单的 XML bean 配置),但是当尝试在 module_B 应用程序上下文中自动装配它们时,它说它找不到 sessionFactory 来满足 dao 依赖关系。
-
请编辑您的问题,向我们展示相关组件。您的描述很好,但有一些细节使它无法正常工作。
-
@skaffman 我添加了组件,希望对您有所帮助
标签: java spring annotations