Questions tagged «cdi»

上下文和依赖注入(CDI):Java平台企业版(Java EE)5将带有配置约定的依赖注入(DI)引入了Enterprise JavaBeans(EJB)3.0。除了已经存在的@EJB批注外,Java EE 6还引入了灵活而强大的@Inject依赖项注入模型(JSR-330和JSR-299)。


6
我应该使用@EJB还是@Inject
我发现了这个问题:@Inject和@EJB有什么区别,但是我没有变得更明智。我以前没有做过Java EE,也没有依赖注入的经验,所以我不明白应该使用什么? @EJB是旧的注入方式吗?使用@Inject时使用此批注时,EJB容器是否通过新的CDI框架进行注入?有区别吗?如果是这种情况,我应该使用@Inject而不是@EJB吗?
148 java  jakarta-ee  ejb  cdi 

16
识别和解决javax.el.PropertyNotFoundException:目标不可访问
当像这样尝试在EL中引用托管bean时#{bean.entity.property},有时会javax.el.PropertyNotFoundException: Target Unreachable抛出异常,通常是在设置bean属性或调用bean操作时。 似乎有五种不同的消息: 目标无法到达,标识符“ bean”解析为空 目标无法到达,“实体”返回null 目标无法到达,“ null”返回null 目标无法访问,“ 0”返回null 目标无法到达,“ BracketSuffix”返回null 它们都是什么意思?它们是如何引起的,应该如何解决?

2
在哪里使用EJB 3.1和CDI?
我正在制作基于Java EE的产品,其中使用了GlassFish 3和EJB 3.1。 我的应用程序具有会话bean,调度程序并使用Web服务。最近,我开始了解Apache TomEE,它支持上下文和依赖注入(CDI)。GlassFish容器还支持CDI。 我可以在不需要CDI尚未提供的任何功能的情况下替换会话bean吗?如果那样的话,我可以获得什么好处?

5
是支持bean(@ManagedBean)还是CDI Bean(@Named)?
我刚刚开始阅读Core JavaServer Faces,第三版。他们这样说(强调我的意思): 对于可以在JSF页面中使用的bean,有两种单独的机制(CDI bean和JSF管理的bean)是历史上的意外。我们建议您使用CDI bean,除非您的应用程序必须在诸如Tomcat之类的普通servlet运行程序上运行。 为什么?他们没有提供任何理由。我一直@ManagedBean在GlassFish 3上运行的原型应用程序中使用过所有bean,但我还没有真正注意到与此相关的任何问题。我并不介意从@ManagedBean那里迁移到那里@Named,但是我想知道为什么我应该打扰。
109 jsf  jakarta-ee  jsf-2  cdi 

3
Java EE 6 @ javax.annotation.ManagedBean与@ javax.inject.Named与@ javax.faces.ManagedBean
我觉得Java EE 6规范中有些混乱。有几组注释。 我们有和javax.ejb一样的注释@Stateful,@Stateless用于创建EJB。 还有一个@javax.annotation.ManagedBean用于创建托管bean的。 javax.enterprise.contextlike @SessionScoped和中有注释@RequestScoped。 软件包中还有/ @ManagedBean和注解。@SessionScoped@RequestScopedjavax.faces.bean 为了使事情变得更复杂,有一个javax.inject带有@Named注释的程序包。 有人可以描述他们之间的关系吗? 我在哪里可以使用@EJB,@Inject或者@ManagedPropery注入其他bean?

3
CDI和EJB如何比较?相互作用?
我很难理解两者的相互作用以及两者之间的界线在哪里。它们重叠吗?它们之间是否有冗余? 我知道两者都有相关的注释,但是我无法通过简要说明找到两者的完整列表。不知道这是否有助于弄清它们之间的区别或重叠之处。 真的只是糊涂了。我(认为我)相当了解EJB,我想很难确切地了解CDI给表带来了什么,以及它如何取代或增强EJB已经提供的功能。
106 java  ejb  java-ee-6  cdi 

6
CDI中的@ApplicationScoped和@Singleton范围有什么区别?
在CDI中有@ApplicationScoped和(javax.inject)@Singleton伪作用域。它们之间有什么区别?除了@ApplicationScoped被代理和@Singleton不被代理的事实。 我可以把@Singleton豆换成@ApplicationScoped吗?@ApplicationScopedbean 可以有两个(或更多)实例吗?
92 java  scope  cdi 

7
WELD-000072声明钝化作用域的托管bean必须具有钝化能力
我用Java Web窗体编写了一个简单的程序,但收到以下错误: WELD-000072声明钝化作用域的托管bean必须具有钝化能力。Bean:BeanPakage.DemoBeans具有限定符[ @Any @Default @Named]的托管Bean [class ] 谁能告诉我这个错误来自哪里? import javax.enterprise.context.SessionScoped; import javax.inject.Named; @Named("DemoBeans") @SessionScoped public class DemoBeans { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
89 java  cdi  jboss-weld 

3
CDI是否可以很好地替代Spring?
我们计划从头开始编写一个Web应用程序,已决定使用符合Java EE 6标准的最新版本的Glassfish,因此我们正在分析是否可以使用CDI代替Spring。 我们可以说CDI可以替代Spring吗?
72 spring  java-ee-6  cdi 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.