当豆子是POJO时,当Weld说“对Foo类型的依赖性不满意”时,这意味着什么?但是,只要我在顶部添加@Dependent
,一切正常吗?
我记得它曾经很好地工作而没有指定范围。我想我弄坏了什么。
规格说:
托管bean由Java类实现,称为bean类。顶级Java类是托管bean,如果它被任何其他Java EE技术规范(例如JavaServer Faces技术规范)定义为托管bean,或者它满足以下所有条件。
这不是一个非静态的内部阶级。
这是一个具体的类或注释@Decorator。
它没有使用EJB组件定义注释或在ejb-jar.xml中声明为EJB bean类。
它有一个合适的构造函数。也就是说,情况如下之一。
该类有一个没有参数的构造函数。
该类声明一个注释为@Inject的构造函数。
定义托管bean不需要特殊声明,例如注释。
答案 0 :(得分:9)
听起来像你习惯了CDI 1.0,现在被CDI 1.1中引入的隐式bean档案搞糊涂了。
beans.xml
现在是可选的,隐式bean归档是默认的,这意味着只有当一个bean有一个bean定义注释,如@Dependent
,@RequestScoped
等时,它才是一个候选bean。