• 一个接口有2个不同的实现,如何Autowire某一个指定的实现


    一个接口

    public interface AServlce{

      public ADao getAId(Long id);

    }

    俩个实现

    @Service("service")

    public class AImpl implements AServlce{

      public ADao getAId(Long id){

        return new ADao();

      }

    }

    @Service("service1")

    public class AImpl implements  AServlce{

      public ADao getAId(Long id){

        return new ADao();

      }

    }

    调用代码

    @Controller

    @RequestMapping("/")

    public class AControl{

      @AutoWired

      AServlce aServlce;

      @RequestMapping("/")

      public void fun(HttpServletRequest request,HttpServletResponse response){

        略...

      }

    }

    这样是错误的,该接口不知道映射哪个实现类。所以用到@Qualifier注解。

    @Controller

    @RequestMapping("/")

    public class AControl{

      @AutoWired

      @Qualifier("service")

      AServlce aServlce;

      @RequestMapping("/")

      public void fun(HttpServletRequest request,HttpServletResponse response){

        略...

      }

    }

  • 相关阅读:
    Set和Multiset 怎么用咧↓↓↓
    sql server 复习笔记2
    sql server 复习笔记1
    数据分析相关学习 -1 numpy
    复习2
    scrapy 4 学习 crawl spider
    scrapy3 中间件的使用
    scapy2 爬取全站,以及使用post请求
    复习1
    scrapy 学习笔记2 数据持久化
  • 原文地址:https://www.cnblogs.com/vlsion/p/8668440.html
Copyright © 2020-2023  润新知