我在理解Java CDI时遇到了一些问题。 我有一个有状态的bean,每次注入一些对象:
@Stateful
public class MyBean {
@Inject
private MyDAO myDAO;
}
这是DAO:
public class MyDAO{
}
我认为它不起作用,因为我没有将bean定义为@Stateless,@ Stateful等。
但它有效。
问题是:这个bean有什么范围?它会是一个有状态的豆吗?
答案 0 :(得分:2)
在这种情况下,MyDAO有一个Dependent伪范围,这意味着它将遵循注入它的bean的生命周期(在你的情况下是EJB有状态的MyBean bean)。一切都解释了here。