Java EE CDI限定词:快速浏览

在上下文和依赖注入(CDI)中, 限定符类型安全松散耦合的主体。 为什么? 没有CDI,我们将以类似于下面的方式注入Java EE组件

注意:这实际上不会编译,只是假设的代码片段



例子1

cdi1

例子2

cdi2

上述实现有什么问题?

  • 不是安全类型 –使用String来指定实现类的完全限定名称(请参见示例1
  • 将BasicCustomerPortal类与BasicService类紧密耦合 (请参见示例2

这正是CDI不这样做的原因!

资格赛助推

  • 松耦合 –另一个类中未引入显式类。 相互分离实现
  • 强类型(类型安全) –无需字符串文字即可定义注入属性/元数据

限定词还可以用作

  • 在bean和装饰器之间绑定组件
  • 观察者的事件选择器 (事件使用者)

简化了CDI限定词

简化cdi限定词

简化步骤

  • 创建一个限定词
  • 将限定符应用于不同的实现类
  • 结合使用Qualifiers和@Inject在类中注入适当实现的实例

这不是有关CDI限定词的详细或深入的帖子。 它更多是快速参考。

  • 点击查看源代码

  • 规格页面(CDI 1.2)
  • 官方CDI页面

谢谢阅读!

翻译自: https://www.javacodegeeks.com/2014/04/java-ee-cdi-qualifiers-quick-peek.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 系统光盘刻录教程-光盘怎样刻录?刻录数据光盘用轨道一次写入还是光盘一次写入?...

刻录光盘需要 DVD-RW 的光驱,并且光盘需要 DVD-R 的光盘用于刻录。刻录工具可以使用 https://cn.ultraiso.net/ 来进行刻录。选择软件目录 中 工具 ,选择 刻录光盘映像 即可进行配置: 此时涉及到了光盘写入的方式的选择问题,在网上…

NTC3950-10K温度传感器

一、计算公式 补充: B3950 R10K T225度 查RT表,25度对应的是10K 电路:   热敏电阻与上拉电阻R813分压,获取温度与Vo电压的关系,在根据Vo折算出与MCU ADC的数值。 再将ADC代出Rt,即得到ADC与T的关系公式。…

二分搜索树的基本实现

基本操作的动画演示 插入(略) 搜索(略) 删除节点 代码 package com.yunche.datastructure;import java.util.LinkedList; import java.util.Queue;/*** ClassName: BST* Description: 二叉搜索树:每个节点的左子树的值…

d9900 修改ip 思科dcm_思科设备SSH登陆详细配置过程

思科设备SSH登陆详细配置过程我们用GNS3进行拓扑搭建。实验拓扑图如下:进行完基本配置之后开始配置SSH服务器(R2)1.首先验证设备是否支持SSHR2#show ip ssh能够识别这条命令就说明支持。2.配置IP域名。使用config# ip domain-name domain-name全局配置模式命令配置网…

java 把string转为keyevent_盘点现在Java强大第三方库(字符串操作),程序员都该知道!...

1.字符串与集合间的转化引用第三方库 Apache Commons Lang jre连接值得一提的自JDK1.8以后字符串集合转为字符串可以使用String类下的join()方法,但别的数据类型还是要依靠第三方库--对比JDK和第三库代码如下我自己是一名从事了多年开发的java老程序员,这段时间整理…

Redis安装文档

1.前置条件 前置条件:linux已经可以上网,参考:https://www.cnblogs.com/ZenoLiang/p/10201875.html 2.安装redis 2.1依赖包检查 1. yum install cpp -y 2. yum install binutils -y 3. yum install glibc-kernheaders -y 4. yum install…

我用Mono(1)

我在Mono 0.1就开始关注和试用Mono了。我印象最深的一次是,我在FreeBSD里编译好了Mono(FreeBSD装在VPC里)。我用了同样的算法写了一个CS文件和JAVA文件。然后在虚拟机的FreeBSD的Mono下编译运行,把Java文件在真实机器的Windows XP…

Java基本数据类型的传值

传递值: 说明:标题其实说法是错误的。Java中只有值传递,没有引用传递。 ... ... //定义了一个改变参数值的函数 public static void changeValue(int x) { x x *2; } ... ... //调用该函数 int num 5; System.out.println(num); change…

红楼梦人物分析系统c语言,Gephi分析红楼梦

前言上一周赶了好久的社会网络计算,貌似是第四周还是第五周的时候,那时候我们就把题目定下来了吧,然后一直拖着没有做。其中的原因多种多样 ,其实也可以说没有什么原因,就是不想做而已,然后就假装忘记23333…

二、MyBatis-HelloWorld

环境准备 1.创建数据库表 create table tbl_employee (id int(11) primary key AUTO_INCREMENT comment "ID",last_name varchar(20) default null comment "姓名",email varchar(20) default null comment "邮件",gender varchar(1) default nu…

洪水同频率放大的方法_我们应该怎么选择放大器配件?

在市面上,手机信号放大器高达百种型号与品牌,每种手机信号放大器所需的配件也不相同,我们需要选择合适的配件,才能让手机信号放大器更稳定的运行。下面佛山红岸谷通讯教大家怎么选适合自己的手机信号放大器配件。主要有以下几点。…

斑能不能彻底去掉_用茶树精油祛痘时,千万不能做这5件事!!!

祛痘注意事项~用茶树精油祛痘时,千万不能做这5件事!!!长痘痘虽然是令人很头疼的事,但是茶树精油祛痘、去痘印功效可谓是无敌的!茶树精油是自然界中的抗菌大师,能净化皮肤、平衡皮肤油脂分泌&…

JAX-RS 2.0:自定义内容处理

我试图想到一个更好的标题,但未能拿出一个! 请多多包涵……。 JAX-RS 2.0规范允许我们无缝地将JAXB对象编组到HTTP请求/响应主体/从HTTP请求/响应主体中解组。 简而言之,我们可以使用域对象,而不必担心基于JAX-RS的解决方案中的低…

Waymo在美国推出自动驾驶汽车共享服务

导读经过数月的测试和数百万英里的无人驾驶汽车技术开发,Waymo 正式在美国推出了具有商业性质的自动驾驶汽车的共享服务。该公司的 Waymo One 项目将为客户提供 24 小时自动驾驶汽车服务。最初,这项服务将仅限于菲尼克斯周边城市,包括坦佩 (T…

2019春第一次课程设计实验报告

一、实验项目名称: 飞机游戏简化的编写 二、实验项目功能描述: 这个实验主要是实现游戏的正常运行,实现控制飞机的移动功能,增加其实用度, 同时还实现发射子弹和出现敌机的操作,利用函数封装重构飞机游戏&a…

区别和联系_动机与主题的区别与联系

今天我算是彻底弄明白了动机与主题的区别与联系(暴论)。当前些天我开始尝试写简单的奏鸣曲时,主题是什么,这个问题卡住了我,因为之前写的练习曲都是基于简单动机的。所以我求助于维基百科。主题是什么?参考…

巴顿又吃回头草

巴顿是一名好车手,一个会给shumi以及kimi造成威胁的家伙,我并不在意他在哪个车队,只希望他跑得比kimi慢才好。from新浪:宛如平地一声雷,巴顿重返威廉姆斯的消息不仅让车迷感到错愕,英美车队的老板理查兹更是…

尝试将WCF映射到Java术语

通过写这篇文章,我冒着被.NET和Java社区拒绝的巨大风险。 试图解释Java术语WCF (代表Windows Communication Foundation)是什么。 从WCF到Java的映射并不是很简单。 我缺乏对WFC使用者应该了解的与服务通信类型的了解:请求/响应或…

android fragment界面滑动切换效果,Android App中使用ViewPager+Fragment实现滑动切换效果...

在android应用中,多屏滑动是一种很常见的风格,没有采用viewpager的代码实现会很长,如果采用ViewPager,代码就会短很多,但是使用ViewPager也有弊端:需要导入android-support-v4.jar、细节无法控制。不过现在…

相对路径./与../区别

一、基本概念 1、相对路径-顾名思义,相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。 2、绝对路径-绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如&#xff0…