EJB企业应用程序不需要EJB接口

2024-01-05

我创建了一个 Java EE 应用程序并向 EJB 项目添加了一个无状态会话 bean。 EJB 项目是 web/WAR 项目中的依赖项,我将在 EJB 项目中创建的 EJB 注入到我的一个 servlet 中。这工作正常,我能够在 Web 应用程序项目的 servlet 中部署和调用此 EJB 的方法。我的困惑是,我认为 EJB 必须在 EJB 容器中具有一个接口,它们要么是本地的,要么是远程的。然而,在我的示例中,我根本不需要接口,并且能够在我认为至少需要本地接口的地方直接调用 EJB?


从 EJB 3.1 开始,您不再需要本地服务的 EJB 接口。任何带有注释的 POJO 类@无状态, @有状态 or @辛格尔顿将是一个企业会话 bean。

回到自然契约 一个类的契约包括所有 它的公共方法。公共方法旨在供以下人员使用 他们的客户。 Enterprise JavaBeans 3.1 的无接口视图 bean 的定义如下,在 EJB 3.1 的第 3.4.4 章中 规范(JSR 318):

“……会话 Bean 的无接口视图是本地视图的变体 公开 bean 类的公共方法,而不使用 独立的业务界面……”

所有私有方法都是隐藏的。具有包私有的方法和 受保护的可见性仅对同一包中的类可见 通常仅出于测试目的访问它们。 JUnit 测试 类与“被测类”(CUT) 位于同一个包中,并且 模拟出不方便的参考,通常访问 直接包私有或受保护的字段。

Check: http://www.oracle.com/technetwork/articles/java/intondemand-1444614.html http://www.oracle.com/technetwork/articles/java/intondemand-1444614.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EJB企业应用程序不需要EJB接口 的相关文章

  • 如何根据服务器/环境动态加载服务器配置?

    目前 我设置了 Maven 配置文件 以便能够为不同的环境 开发 演示 暂存 生产等 部署我的项目 并且它工作得很好 但问题是 对于我拥有的每个模块 Web 应用程序 我需要复制 粘贴此配置文件 它们都是属性文件 当我需要更改环境 服务器配
  • 会话超时(session.setMaxInactiveInterval)在 Google Appengine 中不起作用

    我尝试使用以下命令为特定用户设置会话超时session setMaxInactiveInterval 30 60 30分钟 但默认情况下它被分配为 86400 秒 24 小时 也在 Web xml 中尝试过
  • Logger,从@Inject转换为生产者

    我在实现像示例这样的登录界面时遇到问题使用 JSF 2 1 PrimeFaces 3 5 EJB 3 1 JPA ORM EclipseLink JAAS MySQL 的简单 CRUD Web 应用程序 http www simtay co
  • 我担心我添加了太多接口

    我正在构建我的领域模型并继续重构它 正如我所做的那样 我发现我喜欢接口 因为它允许我根据接口为具体类型创建可重用的方法 控制器 视图 但是 我发现每次向域实体之一添加新属性时 我都会创建一个接口 例如 我有一个会员状态从抽象继承的对象Ent
  • 如何将 Ant 路径转换为文件集?

    我正在编写一个 Ant 脚本来将项目打包到 WAR 文件中 该软件由多个项目组成 它们有自己的源目录 库等 WAR 任务有一个嵌套元素lib我目前正在研究这个问题 我目前有所需库的参考作为Path 包含几个FileSets 我在类路径引用中
  • JBoss 7 中带有 HornetQ 的 JMS 队列的“持久”属性是什么意思?

    在使用 HornetQ 基于standalone full xml 配置 的 JBoss 7 上配置 JMS 队列期间 我注意到一个属性 持久 我浏览了几个来源 其中许多都表示队列始终是 持久的 这意味着消息将始终被传递 即使潜在的接收者在
  • 在 JBoss 上热部署 - 如何让 JBoss “看到”更改?

    我正在开发一个 Java EE 应用程序 在开发过程中我会在本地 JBoss 安装上反复部署该应用程序 我想通过将应用程序直接热部署到 JBOSS server default deploy myApp 来加速构建 它似乎有效 但在硬部署和
  • @Inject 和 @PostConstruct 不适用于单例模式

    我有一堂课如下 public class UserAuthenticator private static UserAuthenticator authenticator Inject private UserRepository user
  • CDI 和 EJB 相比如何?相互影响?

    我很难理解两者如何相互作用以及它们之间的界限在哪里 它们重叠吗 他们之间有裁员吗 我知道两者都有相关的注释 但我无法找到两者的完整列表和简短描述 不确定这是否有助于澄清它们的不同之处或重叠之处 真的只是很困惑 我 认为我 对 EJB 相当了
  • 在 Java 中,对复杂模型使用接口是否会带来性能提升?

    标题很难理解 但我不知道如何以另一种方式总结 欢迎任何澄清的编辑 我被告知并建议使用接口来提高性能 即使在并不特别需要常规 接口 角色的情况下也是如此 在这种情况下 对象是大模型 MVC 意义上的 具有许多方法和字段 向我推荐的 好用处 是
  • 自定义 JSP 标记 - 检测其他实例的存在

    自定义 JSP 标记是否可以检测页面中是否存在其自身的其他实例 如果是这样 首选的方法是什么 我的标签的输出需要有条件地取决于它是否是唯一的实例 请注意 我的页面出现了三次标签 其中两个具有与第三个不同的属性集 因此我知道从资源池分配了两个
  • 抽象类、接口、mixins

    有人可以向我解释一下两者之间的区别吗抽象类 接口 and mixins 我之前在代码中使用过它们 但我不知道技术差异 抽象类 抽象类是不被设计为实例化的类 抽象类可以没有实现 部分实现或全部实现 抽象类旨在允许其子类共享公共 默认 实现 抽
  • 如何在@FacesConverter中注入@EJB、@PersistenceContext、@Inject、@Autowired等?

    我怎样才能注入像这样的依赖项 EJB PersistenceContext Inject AutoWired等在一个 FacesConverter 在我的具体情况下 我需要通过注入 EJB EJB FacesConverter public
  • C# 4.0 动态对象和 WinAPI 接口,如 IShellItem(无需在 C# 源代码中定义它们)

    是否可以 使用 C 4 0 中的新动态关键字 使用接口 如 IShellItem 或其他 WinAPI 接口 而无需在 C 源代码中定义它们 或者至少不定义接口成员 我正在尝试类似的事情 const string IShellItemGui
  • Java 接口中的转换

    有人可以向我解释编译器如何在第一次转换中不抱怨 但在第二次转换中抱怨吗 interface I1 interface I2 class C1 implements I1 class C2 implements I2 public class
  • 为什么不允许接口作为注释成员?

    考虑这段代码 Retention RetentionPolicy RUNTIME Target ElementType METHOD public interface Bar Foo foo default FooImpl FooConst
  • DB2连接授权失败原因:Java不支持安全机制

    我正在尝试使用 DB2JDBC Type4 驱动程序配置 DB2 连接 但我收到这个错误 线程 main 中的异常 com ibm db2 jcc am SqlInvalidAuthorizationSpecException jcc t4
  • 如何在 Struts 2 应用程序中读取文本文件 [重复]

    这个问题在这里已经有答案了 开发 Struts 2 应用程序时遇到以下问题 我需要读取使用我的应用程序部署在 Web 服务器中的文本文件 我怎样才能知道它的相对路径来访问它 换句话说 如果我知道部署目录内的相对路径 如何找到绝对路径 当我在
  • 如何在 F# 中实现返回 void 的接口成员

    想象一下 C 中的以下接口 interface IFoo void Bar 我如何在 F 中实现这一点 我在 30 分钟的在线搜索中找到的所有示例都仅显示具有返回类型的示例 我认为这在函数式风格中更常见 但在这种情况下我无法避免 这是我到目
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary

随机推荐

  • IE7/8 & png 的 fadeIn / fadeOut jquery 问题

    嘿伙计们 我正在尝试制作一个放大镜背景 当使用悬停在可以放大的图像上时 这是使用空白范围并将其显示设置为无 直到悬停为止 并使其背景为半透明 png 中间有一个放大镜 这是使用 fadeIn fadeOut 完成的 并且在除 IE 之外的所
  • 如何使用 Apache Derby 设置日期格式?

    我想很好地格式化从查询中收到的日期 例如 SELECT recdate FROM myrecords 实际上我正在搜索该函数以使用日期模式进行漂亮的格式化 如果像 SimpleDateFormat 这样就更好了 如果不可能 我如何构建一个格
  • 运行连续 Firestore 查询时出现虚假 MaxListenersExceededWarning EventEmitter 内存泄漏

    我有一个 firebase HTTP 函数 它依次调用一些 firestore 操作 如果我多次调用 HTTP 函数 让每个调用在调用下一个调用之前完成 我会在 firebase 函数日志中收到以下错误 node 2 MaxListener
  • “在视图更新期间修改状态,这将导致未定义的行为。”在文本字段(SwiftUI)上输入时出错

    我有两个文本字段 分配给 State private var emailAddress String State private var password String 现在 每当我在上面输入内容时 该应用程序似乎都会卡住并给出以下错误 在
  • 拖动时获取触摸位置

    我有一些我喜欢拖来拖去的观点 意见范围内 LinearLayout 它本身位于滚动视图内 我想获取当前手指 触摸 的位置 以 在我的滚动视图上平滑滚动 具体取决于 当前拖动的高度 长按后我开始拖动 查看内置监听器startDrag view
  • 使用Linux伪终端测试QSerialPort

    我想使用带有伪终端的 Qt 串行端口来测试应用程序 根据我实现的手册页 open master QSerialPort master dev ptmx master open QSerialPort ReadWrite int master
  • R散点图:符号颜色代表重叠点的数量

    当许多点重叠时 散点图可能很难解释 因为这种重叠会掩盖特定区域中数据的密度 一种解决方案是对绘制点使用半透明颜色 以便不透明区域表明这些坐标中存在许多观测值 下面是我在 R 中的黑白解决方案的示例 MyGray lt rgb t col2r
  • 将类名与变量 Angular 2 连接起来

    我想要类似的东西class myClass classVar 我试图将类名与范围内的变量值连接起来 但不起作用 div span span div Add a 和一个空格 div span span div
  • !!(x) 在 C(尤其是 Linux 内核)中意味着什么?

    我一直在阅读 Linux 内核 具体来说 2 6 11 我遇到了以下定义 define unlikely x builtin expect x 0 来自 linux 2 6 11 include linux compiler h 61lxr
  • 对于自定义容器类的成员,List.Sort() 与 List.OrderBy() 的实用程序

    我发现自己回顾了一些旧的 3 5 框架遗留代码 并发现了一些点 其中有一大堆列表和字典必须以同步方式更新 我已经确定 通过将这些融合到新的自定义类的自定义容器类中 我可以使这个过程变得更加易于使用和理解 然而 在某些方面 我开始担心通过特定
  • 使用 jquery + jsonp,Internet Explorer 不保存 ASP.NET sessionID

    所以我正在使用 Jquery 做一些相当简单的 JSONP 东西 总体结构 网站存在于域中A JavaScript 存在于域中B JSON 服务也存在于域中B 该站点调用 jsonp 调用 json 服务 net 的方法 在 net 中我设
  • Jetty Servlet 不运行——而是获取目录列表

    我正在尝试让在 Netbeans 中构建并运行的 servlet 在 jetty 服务器上运行 本地部署始终有效 但是在 Jetty 上部署会导致目录列表 而不是实际运行的 servlet 问题似乎出在上下文配置上 但我不知道我做错了什么
  • Jax-RS 未使用 @provider 注释注册资源

    我有一个使用 jersey api 在 weblogic 12c 中运行的休息应用程序 我有一个带有注释 provider 的http 请求过滤器类 但是 在部署应用程序时 过滤器类未向我在 ApplicationConfig 类中添加的其
  • 具有 Owin 身份验证的 Mono

    我有一个在 Mono 中运行的 Owin 应用程序 我正在尝试让身份验证在其上正常工作 我使用了以下信息这一页 https coding abel nu 2014 06 writing an owin authentication midd
  • 如何使用for循环matlab调用顺序变量? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一堆变量叫做length act
  • -O0、-O1 和 -g 有什么区别

    我想知道如何使用 O0 O1 和 g 在库中启用调试符号 有些建议使用 O0 来启用调试符号 有些建议使用 g 那么 g 和 O0 之间的实际区别是什么 01 和 O0 之间的区别是什么 哪个最好使用 O0是优化级别 0 无优化 与省略 O
  • 无法从“pyproj”导入名称“CRS”以使用 osmnx 库

    I have used a fresh anaconda install to download and install all the required modules for osnmx library but I got the fo
  • 我们什么时候使用ANTLR

    谁能指导我在 ASP Net C 项目中使用 ANTLR dll 的目的 我刚刚注意到antlr 运行时 Antlr3 运行时 Antlr3 实用程序某些项目中引用的程序集 如果能引用一些现实世界的例子或者任何指向网页的链接都会有用 那就太
  • 如何在文本区域更改时将“必需”属性添加到输入?

    我需要在文本区域 orderComments 中输入文本的情况下将 required 属性添加到 html select toDept 中 下面是我的代码 我缺少什么 我需要在更改事件或其他事件上运行 jquery 吗 document r
  • EJB企业应用程序不需要EJB接口

    我创建了一个 Java EE 应用程序并向 EJB 项目添加了一个无状态会话 bean EJB 项目是 web WAR 项目中的依赖项 我将在 EJB 项目中创建的 EJB 注入到我的一个 servlet 中 这工作正常 我能够在 Web