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

自己做网站 发布视频教程链接检测工具

自己做网站 发布视频教程,链接检测工具,内容管理系统有哪些,宁波优化网页基本流程Qualifier 1. 解释 当Spring中存在多个类型相同但是名称不同的Bean时,使用Autowired注解向类的构造方法、方法、参数、字段中注入Bean对象时,首先会根据Bean的类型注入,如果存在多个类型相同的Bean时,会根据Bean的名称注入&…

@Qualifier

1. 解释

当Spring中存在多个类型相同但是名称不同的Bean时,使用@Autowired注解向类的构造方法、方法、参数、字段中注入Bean对象时,首先会根据Bean的类型注入,如果存在多个类型相同的Bean时,会根据Bean的名称注入,如果找不到对应名称的Bean时,就会抛出异常。

对于上述场景,可以通过@Qualifier注解明确指定要注入的Bean

2. 场景

当项目中集成了多个消息中间件,对外提供同意发送消息的接口,基于RocketMQ、Kafka、RabbitMQ实现的消息发送类上分别标注了不同的Bean名称。如果在业务系统中需要指定使用某种消息中间件来发送消息时,就需要使用@Qualifier注解来明确指定Bean的名称

3. 源码

@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.CONSTRUCTOR})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier
public @interface Qualifier {// 表示Bean的唯一标识// 当使用Spring按照类型自动注入式,存在多个类型相同的Bean的时候,就可以使用此注解来明确注入哪个Bean对象String value() default "";
}

4. Demo

4.1 区分同名Bean

一个接口和两个实现不同名字的实现类

public interface PaymentService {void pay();
}@Service("creditCardService")
public class CreditCardPaymentService implements PaymentService {public void pay() {System.out.println("Paying via Credit Card");}
}@Service("paypalService")
public class PaypalPaymentService implements PaymentService {public void pay() {System.out.println("Paying via Paypal");}
}

使用@Qualifier注解,注入想要的Bean

@Component
public class PaymentClient {private final PaymentService paymentService;@Autowiredpublic PaymentClient(@Qualifier("creditCardService") PaymentService paymentService) {this.paymentService = paymentService;}public void performPayment() {paymentService.pay();}
}
4.2 使用在不同的位置
  • 在字段注入中使用
@Component
public class ServiceB {private final ServiceA serviceA;@Autowiredpublic ServiceB(@Qualifier("serviceA1") ServiceA serviceA) {this.serviceA = serviceA;}
}
  • 在Setter方法注入中使用
@Component
public class ServiceB {private ServiceA serviceA;@Autowiredpublic void setServiceA(@Qualifier("serviceA1") ServiceA serviceA) {this.serviceA = serviceA;}
}
  • 在构造方法中使用
@Component
public class ServiceC {private final ServiceA serviceA;private final ServiceB serviceB;@Autowiredpublic ServiceC(@Qualifier("serviceA1") ServiceA serviceA, ServiceB serviceB) {this.serviceA = serviceA;this.serviceB = serviceB;}
}

http://www.yidumall.com/news/75806.html

相关文章:

  • 手机端网页怎么开发株洲seo优化报价
  • 网站的轮播图怎么做友情链接系统
  • 公司网站开发报价网络热词大全
  • 网站购买流程网站建设需要多少钱
  • 前端和后端分别需要学什么seo全网营销公司
  • 前端学校网站开发视频杭州网站seo优化
  • 网站验证图标嘉兴seo外包
  • 湖南网站建设策划上海seo外包
  • 南京app制作开发公司福建seo快速排名优化
  • 滨州做网站建设的公司市场推广的方法和规划
  • 怎样在美国做网站国内seo公司哪家最好
  • 在线图表生成器seo培训学什么
  • 兰州做网站的网站外链的优化方法
  • 做网站建网站获客渠道有哪些
  • 郑州网站制作营销seo技术培训机构
  • 宁波英文网站建设免费外链平台
  • 顺义网站建设山东最新资讯
  • 中国做网站的公司排名seo怎么优化网站排名
  • edu域名网站google下载官方版
  • 邯郸网站制作外包企业培训考试系统
  • 重庆个人网络营销定制网络优化工作内容
  • 萧山工程建设有限公司网站阳江seo
  • 若尊二级域名分发seo算法入门教程
  • 网页截图快捷键设置谷歌seo搜索引擎优化
  • 网站推广的几个阶段实时军事热点
  • 透视政务网站4p营销理论
  • 网站建设方案书简单电工培训机构
  • 烟台 做网站常州网站建设优化
  • 网站设计前景百度快速排名优化技术
  • 百度做的网站一般在什么后台新郑网络推广外包