gpt4 book ai didi

jsf - 将 JSF 托管 Bean 注入(inject) EJB

转载 作者:行者123 更新时间:2023-12-02 03:26:51 25 4
gpt4 key购买 nike

是否可以将 JSF Managed Bean 注入(inject) EJB 中?我已将 JSF Managed Bean 作为 @ManagedProperty 注入(inject)到另一个 JSF Managed Bean 中。但是当我对 EJB 执行相同操作时,我得到一个空点异常。

最佳答案

不,这是不可能的。 @ManagedProperty 仅在 @ManagedBean 类(JSF 托管 bean)内工作。您只能使用@EJB@Inject 来注入(inject)另一个EJB 或CDI 托管bean(@Named 类)。

但是,从技术上来说,将前端类(如 JSF 或 CDI 托管 Bean)注入(inject)到业务服务类(如 EJB)中使得设计没有任何意义。 EJB 的设计方式应使其无需更改即可与完全不同的前端(如 JAX-RS Web 服务)甚至普通的 servlet 一起重用。 EJB 绝对不应该有任何 javax.faces.* 导入/依赖项(就像它不应该有任何 javax.ws.rs.*javax .servlet.* 个)。

如果您打算将数据从 JSF 托管 Bean 传递到 EJB,则只需将其作为方法参数传递即可。此类数据通常具有 JPA @Entity 的风格,或者至少是返回实体的 ID/关键字。

关于jsf - 将 JSF 托管 Bean 注入(inject) EJB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com