【发布时间】:2010-12-26 12:48:08
【问题描述】:
我需要将 Spring bean 注入到 Seam 上下文中。除非我将 spring bean 声明为 EJB,否则我无法将它注入到其他接缝管理的组件中。但是当我这样做时,所有的 spring 注入字段都是无用的,因为 Seam 在运行时创建了新实例。
我还尝试将 <seam:component/> 元素添加到 spring bean 定义中,并尝试将其注入容器中,并在目标类中使用 @In("beanId") 注释,但我总是以 NullpointerException 结束...
编辑:
我阅读了在线文章并按照他们所说的做了。我的弹簧组件也被添加到接缝上下文中(我可以说,因为当我在接缝中定义一个具有相同 ID 的组件时,它会抱怨)。看起来@In 没有接听......
【问题讨论】:
-
你用的是什么版本的 Spring?
-
你如何测试你的应用程序?你在使用带有嵌入式 JBoss 嵌入式服务器的 SeamTest 吗?
-
@Arthur:很多单元测试,通过 UI 层的自动化测试,在 selenium 上使用外部应用程序。一些集成测试会拉起弹簧上下文,而不是接缝……也许隔离问题的好主意,看看接缝上下文。