有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java EE 6、5、7 |托管bean或类的列表:EJB、JSF bean和。。?

有人能说出Java EE 5,6,7中当前的托管bean或类列表吗? 除了EJB和JSF托管bean之外,它们还有其他类吗

在《EJB3在行动》一书的第5章(学习高级EJB概念)中提到:

"DI is supported only in the managed classes and that you cannot use injection in helper or utility classes."

这就是为什么我想知道哪些托管bean通常可以支持依赖注入

-请不要忘记提及在线参考资料和文档(如果有)- 提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    从EE 6开始:

    • EJB(EJB3.1,第2.8节-“与托管Bean规范的关系”)
    • CDI(JSR-299,第1.2.3节-“与托管bean的关系”)
    • JSF(托管Beans 1.0,MB.1.2节)

    由于规范预计将建立在托管bean规范之上,因此平台规范没有提供全面的列表,因此您必须查看EE6中包含的每个规范。我对JSF的证据是最薄弱的,因为最新的JSF规范没有明确说明它构建在托管bean规范之上。然而,ManagedBeans规范本身声明,它是JSF的一种泛化

    也就是说,表EE。EE6平台规范中的5-1包含了支持注入、施工后和拆卸前的组件类别列表。这个列表可以说比知道哪些组件技术是明确的“托管bean”更有用

    • Servlet(Servlet、Servlet过滤器、事件侦听器)
    • JSP(标记处理程序、标记库事件侦听器)
    • JSF(作用域托管bean)
    • JAX-WS(服务端点、处理程序)
    • EJB(bean、拦截器)
    • 托管bean[来自托管bean规范]
    • CDI(CDI风格的托管bean[几乎所有包含beans.xml的存档中的类],decorators)
    • Java EE平台(主类(静态)[应用程序客户端],登录回调处理程序)
  2. # 2 楼答案

    您是否知道,任何Java类都可以通过编写符合MBean Specification的代码来成为托管bean

    您的问题要求提供Java EE中的“当前托管bean列表”。所以简单的回答是,“这取决于您运行的应用程序是否正在注册MBean”。您可以对JVM运行JMX客户端(例如MX4J),以了解注册了哪些bean

    我为Platform MBeans提供的链接描述了JVM中默认情况下可用的一些链接