当前位置: 首页 > news >正文

外贸企业网站红色风格镇江市建设工程招投标网站

外贸企业网站红色风格,镇江市建设工程招投标网站,深圳十大建筑工程公司排行榜,论文中网站数据如何做脚注ejb java尽管EJB继承有时使用Java继承#xff0c;但事实并非总是如此。 就像您在我以前的文章中可以读到的那样 #xff0c;EJB不必实现任何接口即可公开业务接口。 反之亦然-仅仅是因为EJB实现了某个接口或扩展了其他EJB#xff0c;并不意味着它公开了全部或任何视图。 假… ejb java 尽管EJB继承有时使用Java继承但事实并非总是如此。 就像您在我以前的文章中可以读到的那样 EJB不必实现任何接口即可公开业务接口。 反之亦然-仅仅是因为EJB实现了某个接口或扩展了其他EJB并不意味着它公开了全部或任何视图。 假设我们要具有一些公开远程业务接口的基本EJB。 然后我们想扩展此EJB并覆盖远程业务方法。 没什么好看的对吧 但是让我们看一些例子。 远程业务接口 public interface RemoteA {void remoteA(); } 基本EJB Stateless Remote(RemoteA.class) public class SuperclassEJB implements RemoteA { public void remoteA() {// Some basic code that can be overriden.} } 上面的SuperclassEJB是我们的基础EJB。 它通过一种方法公开了一个远程业务接口。 现在让我们转到EJB的子类 案例1 – Java继承 Stateless public class SubclassEJB1 extends SuperclassEJB {// remoteA is not EJB business method. EJB inheritance is strictly for implementation reusing. } SubclassEJB1是一个EJB –可以肯定。 但是它公开了哪些接口 因为EJB组件必须显式定义其定义的业务接口所以我们的EJB根本没有任何实际的业务方法 它是新的全新的无接口视图EJB。 这意味着如果在您的代码中您将执行以下操作 EJB SubclassEJB1 myEJB它将注入没有业务方法的无接口视图EJB。 EJB(nameSubclassEJB1) RemoteA myEJB它将拒绝进行此注入因为RemoteA不是我们EJB的业务接口。 有趣的是–如果不是使用EJB进行容器注入而是进行如下查找 RemoteA subclassEJB1 (RemoteA) initialContext.lookup(java:module/SubclassEJB1); subclassEJB1.remoteA(); 它不会引发任何异常并正确调用remoteA()方法。 为什么 因为我们真正查找的是EJB的无接口视图。 然后我们将其转换为RemoteA 从纯Java角度来看这是正确的并调用了无接口视图方法。 我想您会同意这会造成很大的混乱–我们没有使用远程接口而是最终正确调用了本地bean方法。 案例2 –接口实现的Java继承 Stateless public class SubclassEJB2 extends SuperclassEJB implements RemoteA {// remoteA is correctly exposed as EJB business method BUT as an implicit local i-face. // Method implementation is correctly inherited. } 现在看起来真的很奇怪。 我们的EJB扩展了其他EJB并实现了远程业务接口对吗 好吧不完全是。 我们正在实现纯Java RemoteA接口。 该接口本身没有Remote批注 SuperclassEJB也没有。 这意味着我们要将RemoteA公开为本地业务接口 。 这是我以前的文章中讨论的EJB的默认行为之一。 这意味着如果在您的代码中您将执行以下操作 EJB(nameSubclassEJB2) RemoteA myEJB将使用本地业务接口。 搞砸了你不觉得吗 案例3 –具有接口实现和视图声明的Java继承 Stateless Remote(RemoteA.class) public class SubclassEJB3 extends SuperclassEJB {// Method remoteA is correctly exposed as EJB business method (thanks to Remote on EJB). // Method implementation is correctly inherited. } 这是EJB扩展的正确示例。 我们已经正确地重用了Java继承的实现实现了EJB远程业务接口并使用Remote公开了它。 甚至不需要implements子句– Remote就足够了。 但是 Remote部分至关重要。 这意味着如果在您的代码中您将执行以下操作 EJB(nameSubclassEJB3) RemoteA myEJB它将正确使用远程业务接口。 结论 如您所见EJB继承有时可能不如预期的那么容易。 它要求您了解组件和视图定义的基础。 默认情况下组件继承显然是为了代码重用而不是组件扩展。 没有这些知识您可能会遇到一些非常奇怪和令人沮丧的问题。 所有示例都在JBoss AS 7.1.1上进行了测试。 参考 EJB继承与Java继承不同 我们的JCG合作伙伴 Piotr Nowicki在Piotr Nowicki的首页博客中进行了介绍。 翻译自: https://www.javacodegeeks.com/2013/03/ejb-inheritance-is-different-from-java-inheritance.htmlejb java
http://www.sadfv.cn/news/366753/

相关文章:

  • 有关网页设计与网站建设的文章临沂网站制作价格
  • 专业做网站安全的sine安不用代码做网站
  • 企业做网站建设的好处网站规划教学设计
  • 合肥网站排名优化公司有什么网站帮做邀请函设计的
  • 收到一张网站服务费怎么做凭证免费无版权图片素材网站
  • 健康资讯网源码 养生保健网站源码(织梦dedecms5.7做网站开发要注册
  • 商城网站静态模板下载广州网站建设腾虎
  • 网站建设哪个好一些做网站要的软件
  • 岳阳网站平台设计懒人手机网站
  • 南宁电商网站建设用DW给网站做后台
  • 网络网站制作技巧域名跳转
  • 接网站建设外包的工作低价网站建设教程
  • 网站建设策划书编制1g做网站空间
  • 江苏省住房与城乡建设部网站开发商延期交房怎么处理
  • asp.net 网站 方案制作流程图的网站
  • 卡片式设计的网站宁波seo营销
  • 特产网站怎么做政务服务网登录入口
  • 合肥集团网站建设哪个好建设银行个人网上银行app
  • 临西做网站哪里便宜公司名称被大量网站收录
  • 建站工作室 网站建设工作室资深网站如何做可以收取客户月费
  • 网站系统cms湖北专升本网站建设
  • 嵩明建设局网站企业网站建设哪家最好
  • 山东住房城乡建设厅官方网站系统管理员已阻止这个应用
  • html5学习网站物流相关网站
  • 百度网站建设北京永久有效的代理ip
  • 阜阳手机网站建设wordpress预留邮箱
  • 邢台本地网站网站建设那家做的好
  • 石景山郑州阳网站建设成都搭建企业网站
  • 城市管理如何宣传市建设网站网站开发学什么
  • 做网站源代码网站主页面设计模板