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

嘉兴本地推广网站廊坊百度推广公司地址

嘉兴本地推广网站,廊坊百度推广公司地址,WordPress商品相册,好的移动端网站模板下载java ee cdiJava EE6的最大承诺之一就是简化了依赖注入的使用。 他们做到了#xff0c;使用CDI 。 CDI代表Java EE的上下文和依赖注入#xff0c;它提供了一个基础集#xff0c;用于在企业应用程序中应用依赖注入。 在CDI之前#xff0c;EJB 3还引入了依赖注入#xff0c;… java ee cdi Java EE6的最大承诺之一就是简化了依赖注入的使用。 他们做到了使用CDI 。 CDI代表Java EE的上下文和依赖注入它提供了一个基础集用于在企业应用程序中应用依赖注入。 在CDI之前EJB 3还引入了依赖注入但这有点基础。 您可以将EJB全状态或无状态注入另一个EJB或Servlet如果您的容器支持。 当然并不是每个应用程序都需要EJB的这就是CDI如此受欢迎的原因。 首先我举了这个例子。 有一个Payment接口和2个实现。 现金付款和签证付款。 我希望仍然可以使用相同的界面选择我注入的女巫付款类型 public interface Payment {void pay(BigDecimal amount); } 这是两个实现 public class CashPaymentImpl implements Payment {private static final Logger LOGGER Logger.getLogger(CashPaymentImpl.class.toString());Overridepublic void pay(BigDecimal amount) {LOGGER.log(Level.INFO, payed {0} cash, amount.toString());} }public class VisaPaymentImpl implements Payment {private static final Logger LOGGER Logger.getLogger(VisaPaymentImpl.class.toString());Overridepublic void pay(BigDecimal amount) {LOGGER.log(Level.INFO, payed {0} with visa, amount.toString());} } 要注入接口我们使用Inject批注。 注释基本上按照它说的去做。 它注入一个组件该组件在您的应用程序中可用。 Inject private Payment payment; 当然您看到的消息来自一英里远这是行不通的。 该容器具有我们的Payment接口的2个实现因此他不知道要注入哪个。 类型[Payment]类型的依赖关系在注入点[[field] Inject private be.styledideas.blog.qualifier.web.PaymentBackingAction.payment]处带有限定符[Default] 因此我们需要某种限定符来指出所需的实现。 CDI提供Named批注使您可以为实现命名。 Named(cash) public class CashPaymentImpl implements Payment {private static final Logger LOGGER Logger.getLogger(CashPaymentImpl.class.toString());Overridepublic void pay(BigDecimal amount) {LOGGER.log(Level.INFO, payed {0} cash, amount.toString());} }Named(visa) public class VisaPaymentImpl implements Payment {private static final Logger LOGGER Logger.getLogger(VisaPaymentImpl.class.toString());Overridepublic void pay(BigDecimal amount) {LOGGER.log(Level.INFO, payed {0} with visa, amount.toString());} } 现在当我们更改注入代码时我们可以指定所需的实现。 Inject private Named(visa) Payment payment; 这行得通但是灵活性受到限制。 当我们想重命名Named参数时我们必须在使用它的每个地方都对其进行更改。 也没有重构支持。 使用Qualifier批注使用定制注解有更好的选择。 让我们稍微更改一下代码。 首先我们创建新的注释类型。 java.lang.annotation.Documented java.lang.annotation.Retention(RetentionPolicy.RUNTIME) javax.inject.Qualifier public interface CashPayment { }java.lang.annotation.Documented java.lang.annotation.Retention(RetentionPolicy.RUNTIME) javax.inject.Qualifier public interface VisaPayment { } 添加到注释中的Qualifier注释使容器可以发现此注释。 现在我们可以简单地将这些注释添加到我们的实现中。 CashPayment public class CashPaymentImpl implements Payment {private static final Logger LOGGER Logger.getLogger(CashPaymentImpl.class.toString());Overridepublic void pay(BigDecimal amount) {LOGGER.log(Level.INFO, payed {0} cash, amount.toString());} }VisaPayment public class VisaPaymentImpl implements Payment {private static final Logger LOGGER Logger.getLogger(VisaPaymentImpl.class.toString());Overridepublic void pay(BigDecimal amount) {LOGGER.log(Level.INFO, payed {0} with visa, amount.toString());} } 现在我们唯一要做的就是将我们的注入代码更改为 Inject private VisaPayment Payment payment; 现在当我们对限定符进行更改时我们将获得不错的编译器和重构支持。 这也为API或特定于域的语言设计增加了灵活性。 参考 Java EE6 CDI来自我们JCG合作伙伴 Jelle Victoor的 命名组件和限定词来自Styled Ideas Blog 。 相关文章 Java EE6装饰器在注入时装饰类 Java EE6事件JMS的轻量级替代品 Java EE中的配置管理 基本的EJB参考注入和查找 Java模块化方法–模块模块模块 Java EE过去现在和云7 Java教程和Android教程列表 翻译自: https://www.javacodegeeks.com/2011/10/java-ee6-cdi-named-components-and.htmljava ee cdi
http://www.zqtcl.cn/news/983945/

相关文章:

  • 江苏省建设厅网站首页天津百度网站排名优化
  • 织梦网络设计工作室网站模板镇江市精神文明建设网站
  • 网站管理工具装修公司设计软件有哪些
  • 招标网站的服务费怎么做分录什么网站做玩具的比较多
  • 青海省住房建设厅网站WordPress主题启用出现错误
  • 自己怎么建网站网站的seo 如何优化
  • 博客网站模板下载如何自学美工
  • 哪个免费建站好专业seo要多少钱
  • 做3d建模贴图找哪个网站珠海建设网站公司简介
  • 网站开发过程前端后端qq刷赞网站咋做
  • 湘潭高新区建设局网站旅游做攻略的网站有哪些
  • wordpress网站云备份网站模块插件是怎么做的
  • 郑州市城乡建设规划网站深圳十佳设计公司排名
  • 上海建设项目环保验收公示网站两新支部网站建设
  • 网站开发移动端网络系统软件应用与维护
  • 浙江网站建设营销网站后台管理系统一般用户名是什么
  • 网站 空间 租用wordpress搬家需要修改
  • 做网站推广怎么找客户网站换空间 seo
  • ipad网站开发seo哪家强
  • 昆明网站建设猫咪科技公司资料模板
  • 网站系统开发做网站需要填什么
  • 网站的数据库丢失建筑素材网
  • 个人网站做短视频pathon能做网站开发吗
  • 客户网站制作管理系统网站程序 wap pc 同步
  • 天津手动网站建设调试百度医院网站建设
  • ppt网站源码今天哈尔滨最新通告
  • asp网站乱码广州制作网页设计
  • 调用别人网站的数据库如何开网店卖自己的东西
  • 个人网站做影视网站开发学什么专业
  • 企业名称注册查询官网入口免费seo网站推广