成都创新互联网站制作重庆分公司

Spring中如何使用Qualifier注解-创新互联

Spring中如何使用Qualifier注解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

目前成都创新互联已为千余家的企业提供了网站建设、域名、网站空间绵阳服务器托管、企业网站设计、溧阳网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

一 配置

   

二 接口

Axe

package org.crazyit.app.service;public interface Axe{   public String chop();}

Person

package org.crazyit.app.service;public interface Person{   public void useAxe();}

三 Bean

Chinese

package org.crazyit.app.service.impl;import org.springframework.stereotype.*;import org.springframework.beans.factory.annotation.*;import org.crazyit.app.service.*;@Componentpublic class Chinese implements Person{  @Autowired  @Qualifier("steelAxe")  private Axe axe;//  // axe的setter方法//  @Autowired//  public void setAxe(@Qualifier("stoneAxe") Axe axe)//  {//    this.axe = axe;//  }  // 实现Person接口的useAxe()方法  public void useAxe()  {    // 调用axe的chop()方法,    // 表明Person对象依赖于axe对象    System.out.println(axe.chop());  }}

SteelAxe

package org.crazyit.app.service.impl;import org.springframework.stereotype.*;import org.crazyit.app.service.*;@Componentpublic class SteelAxe implements Axe{  public String chop()  {    return "钢斧砍柴真快";  }}

StoneAxe

package org.crazyit.app.service.impl;import org.springframework.stereotype.*;import org.crazyit.app.service.*;@Componentpublic class StoneAxe implements Axe{  public String chop()  {    return "石斧砍柴好慢";  }}

四 测试类

package lee;import org.springframework.context.*;import org.springframework.context.support.*;import org.crazyit.app.service.*;public class BeanTest{  public static void main(String[] args)  {    // 创建Spring容器    AbstractApplicationContext ctx = new      ClassPathXmlApplicationContext("beans.xml");    // 注册关闭钩子    ctx.registerShutdownHook();    Person person = ctx.getBean("chinese" , Person.class);    person.useAxe();  }}

五 测试结果

钢斧砍柴真快

关于Spring中如何使用Qualifier注解问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


分享名称:Spring中如何使用Qualifier注解-创新互联
网站网址:http://cxhlcq.com/article/ddcsso.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部