标签: cdi

为什么要使用@PostConstruct?

在托管bean中,@PostConstruct在常规Java对象构造函数之后调用.

我为什么要使用@PostConstructbean初始化,而不是常规构造函数本身?

java dependency-injection jsr299 java-ee cdi

274
推荐指数
4
解决办法
20万
查看次数

我应该使用@EJB还是@Inject

我发现了这个问题:@ Inject和@EJB之间的区别是什么,但我没有更明智.我以前没有完成Java EE,也没有依赖注入的经验,所以我不明白我应该使用什么?

@EJB和旧的注射方式?在使用@Inject时使用此批注时EJB容器是否完成注入使用新的CDI框架?这是不同的,如果是这种情况,我应该使用@Inject而不是@EJB吗?

java ejb java-ee cdi

143
推荐指数
5
解决办法
10万
查看次数

识别并解决javax.el.PropertyNotFoundException:Target Unreachable

当尝试在EL中引用托管bean时#{bean.entity.property},有时会javax.el.PropertyNotFoundException: Target Unreachable抛出异常,通常是在设置bean属性时,或者要调用bean操作时.

似乎有五种不同的消息:

  1. 目标无法访问,标识符'bean'已解析为null
  2. 目标无法访问,'entity'返回null
  3. 目标无法访问,'null'返回null
  4. 目标无法访问,''0'返回null
  5. 目标无法访问,'BracketSuffix'返回null

这些都意味着什么?它们是如何引起的,它们应该如何解决?

jsf el cdi managed-bean propertynotfoundexception

117
推荐指数
2
解决办法
11万
查看次数

在哪里使用EJB 3.1和CDI?

我正在制作一个基于Java EE的产品,我正在使用GlassFish 3和EJB 3.1.

我的应用程序有会话bean,调度程序和使用Web服务.我最近了解了Apache TomEE,它支持上下文和依赖注入(CDI).GlassFish容器也支持CDI.

我可以替换会话bean,我不需要任何CDI也没有提供的功能吗?如果那样的话,我能得到什么好处?

cdi ejb-3.0 glassfish-3 apache-tomee

115
推荐指数
1
解决办法
4万
查看次数

Java EE 6 @ javax.annotation.ManagedBean与@ javax.inject.Named vs. @ javax.faces.ManagedBean

我觉得Java EE 6规范有点乱.有几组注释.

我们有javax.ejb类似于@Stateful@Stateless创建EJB的注释.

还有一个@javax.annotation.ManagedBean用于创建托管bean.

javax.enterprise.context喜欢@SessionScoped和注释中有注释@RequestScoped.

更重要的是也有@ManagedBean@SessionScoped/ @RequestScoped在注释javax.faces.bean包.

为了使事件更复杂,有一个javax.inject@Named注释的包.

有人可以描述一下他们之间的关系吗?

我在哪里可以使用@EJB,@Inject@ManagedPropery注入其他豆类?

java java-ee cdi java-ee-6

107
推荐指数
3
解决办法
4万
查看次数

支持bean(@ManagedBean)或CDI Beans(@Named)?

我刚开始阅读Core JavaServer Faces,第3版.他们这样说(强调我的):

对于可以在JSF页面中使用的bean,有两种不同的机制,CDI bean和JSF托管bean,这是一个历史事故.我们建议您使用CDI bean,除非您的应用程序必须在像Tomcat这样的普通servlet运行器上运行.

为什么?他们没有提供任何理由.我一直在使用@ManagedBean在GlassFish 3上运行的原型应用程序中的所有bean,我还没有发现任何问题.我不介意迁移@ManagedBean@Named,但我想知道为什么我应该打扰.

jsf java-ee cdi jsf-2

106
推荐指数
3
解决办法
7万
查看次数

CDI和EJB如何比较?相互作用?

我很难理解两者如何相互作用以及它们之间的界限在哪里.它们是否重叠?他们之间有冗余吗?

我知道有两个注释都有关联,但我无法通过简短的描述找到两者的完整列表.不确定这是否有助于弄清楚它们之间的区别或重叠的位置.

真的只是困惑.我(我认为)合理地理解EJB,我想我很难理解CDI带来的确切内容以及它如何取代或增强EJB已经提供的内容.

java ejb cdi java-ee-6

103
推荐指数
2
解决办法
4万
查看次数

CDI中的@ApplicationScoped和@Singleton范围有什么区别?

在CDI中有@ApplicationScoped和(javax.inject)@Singleton伪范围.他们之间有什么区别?除了@ApplicationScoped代理的事实,而@Singleton不是.

我可以把我的@Singleton豆子改成@ApplicationScoped吗?可@ApplicationScoped豆有两个(或更多)的实例?

java scope cdi

86
推荐指数
5
解决办法
6万
查看次数

WELD-000072声明钝化范围的管理bean必须具有钝化功能

我在java Web表单中编写了一个简单的程序但是我收到以下错误:

WELD-000072声明钝化范围的管理bean必须具有钝化功能.Bean:BeanPakage.DemoBeans带有限定符[ @Any @Default @Named]的托管Bean [类]

谁能告诉我这个错误来自哪里?

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

java cdi jboss-weld

77
推荐指数
4
解决办法
5万
查看次数

CDI是Spring的一个很好的替代品吗?

我们计划从头开始编写Web应用程序,已经决定使用符合Java EE 6标准的最新版Glassfish,因此我们正在分析是否可以使用CDI而不是Spring.

我们可以说CDI可以替代Spring吗?

spring cdi java-ee-6

67
推荐指数
2
解决办法
3万
查看次数