[英]CDI Bean accessing Spring beans?
我知道这听起来很奇怪,将CDI(Weld)和Spring混合为控制器。
但想象一下这种情况:
现在出现的一个问题是,在我的控制器中,我如何访问我的服务对象?
我觉得这样的事情不会起作用:
@Named
@ConversationScoped
public class MyBean {
@Named
private SomeOtherBeanManagedByCDI myOtherBean; // this will work
@Autowired
private MySpringBean mySpringBean; // dont think that this will work
....
}
关于如何在cdi bean中使用spring bean的任何想法? 谢谢 !
我刚刚测试了这篇文章的解决方案,到目前为止它工作正常,我感到宽慰。
谢谢 !
Rick Hightower编写了一个很好的扩展库,它支持将Spring bean注入CDI bean,反之亦然:
http://rick-hightower.blogspot.com/2011/04/cdi-and-spring-living-in-harmony.html
在OP中仍然有一个很好的接受答案和一些很好的编辑,但我认为还有时间指出Seam Spring模块。
此外,如果您正在尝试跨一系列页面管理状态,并希望对Struts或JSF或Spring MVC进行有效的会话管理,那么Spring Web Flow可以提供您所需要的内容,并为流量范围内的Bean提供服务。流的持续时间,或多或少等同于Seam / CDI中的会话。 如果您想要一个更长寿命的流量管理解决方案,Activiti SPring模块可以简化配置一些在过程范围内生存的bean,类似于Seam对jBPM的功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.