繁体   English   中英

将JSF托管Bean注入EJB

[英]Injecting JSF Managed Bean to a EJB

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

不,那不可能。 @ManagedProperty@ManagedBean类(JSF托管Bean)内工作。 您只能使用@EJB@Inject注入另一个EJB或CDI管理的bean( @Named类)。

但是,从技术上讲,在像EJB这样的业务服务类中插入像JSF或CDI管理的bean这样的前端类在技术上是没有意义的。 EJB的设计方式应使其无需更改即可在完全不同的前端(如JAX-RS Web服务或什至普通的Servlet)中一起重用。 EJB绝对不应具有任何javax.faces.*导入/依赖项(就像它不应具有任何javax.ws.rs.*javax.servlet.*一样)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM