Spring注入接口,接口多个实现类调用哪个实现类的三种方案

Spring注入接口,接口多个实现类调用哪个实现类的三种方案

代码所示:

··· @Autowired UserService userService ···
在这个接口有多个实现类的情况下三种方式定义调用实现类:

方法1:

··· `@Autowired 
	  UserService userServiceImpl_1` ···
在变量名中直接写成想要调用的那个实现类名称,名称规定为首字母小写

方法2

@Primary 注解,标注在实现类上,注解意思:优先使用本类。

方法3

结合使用:	
	只需要在注⼊的时候,额外通过另外⼀个注解@Qualifier来标识需要注⼊实现类的名字
	@Autowired 
	@Qualifier("userServiceImpl_1")
	UserService userService;

同理:@Resource跟方法三是一样的原理

方法一是根据类的BeanName在容器中跟beanId对比寻找,
方法二是直接表示用哪个。
方法三是直接根据beanId找全限定路径找类。
在这里推荐使用@Resource,方便快捷。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值