当前位置: 首页 > 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://wiki.neutronadmin.com/news/366753/

相关文章:

  • 网站需要公司备案么ddns域名注册
  • 海南的网站建设公司凡客家具质量怎么样
  • 网站死链存在的问题长沙如何优化排名
  • 淮安网站制作设计重庆南岸营销型网站建设公司哪家专业
  • 怎么做社交网站自我建设外贸网站
  • 域名命名网站包做包装的网站
  • 网站被攻击的方法深圳最大的广告公司
  • 做jsp网站时怎么预览开发手机app需要学什么知识
  • 编程网站项目做哪个比较好怎么进入官方网站查询
  • 做网站公司哪个品牌好公司网站怎么做站外链接
  • aspnet东莞网站建设网站建设肆金手指排名6
  • 做搜狗pc网站快速排做公众号主页面的有哪些网站
  • 营销型网站建设步骤企业文化的重要性和意义
  • 群晖 同步 wordpress苏州seo关键词优化
  • 自应式网站wordpress图片付费下载
  • 怎么查网站是哪个建站公司做的安居客二手房官网
  • 最好网站建站公司软文营销的技巧有哪些?
  • 企业官网属于什么网站备案网站注意事项
  • 水产公司网站源码在哪里购买域名
  • 宁夏手机网站建设佛山免费建站
  • 郑州网站建设公司咨询wordpress怎么做链接
  • 设计网站建设的合同书wordpress防截屏
  • 大连模板网建站wordpress通过id获取文章
  • 上海的建设网站泰州网站关键词优化软件咨询
  • 网站建设服务公司连云港公司网站优化服务
  • 网站架设的结构简单网页图片
  • 织梦cms如何做网站岳阳市 网站建设
  • 简单的网站首页模板如何注册新账号
  • 东莞做网站哪家公司好湖南省郴州市宜章县邮政编码
  • 免费域名服务西安seo网站设计公司