为什么可以将@Inject
EJB@Stateless
转换为@SessionScoped
托管 Bean?
我只是很好奇,因为不可能将@RequestScoped
托管 Bean 中的SessionScoped
托管 Bean 用作托管属性。
为什么可以@Inject 一个@Stateless EJB 到一个@SessionScoped Managed Bean?
这很有意义。您可能希望从有状态服务(例如购物流程)中访问无状态组件(例如验证服务)。CDI 引用是代理的,因此该分辨率不存在技术问题。
我只是很好奇,因为不可能在 SessionScoped Managed Bean 中使用 @RequestScoped Managed Bean 作为托管属性。
您指的是 JSF 范围,而不是 CDI 范围,对吗?我不知道为什么该星座可能被禁止,但两个规范完全不相关,所以没有“如果 A 在 JSF 中为真,那么 B 在 CDI 中必须为真”-关系......