@Autowired使用错误

Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService1': No qualifying bean of type 'com.bjpowernode.dubbo.service.UserService' available: expected single matching bean but found 2: UserService1,UserService2

报错如下: 

 

后端代码:

 UserController

@Controller
public class UserController {

    @Autowired
    private UserService userService1;

     @Autowired
    private UserService userService2;



    @RequestMapping("/user")
    public String userDetail(Model model, Integer id){
        User user = userService1.queryUserById(id);
        User user2 = userService2.queryUserById(id);
        model.addAttribute("user", user);
        model.addAttribute("user2", user);
        return "userDetail";
    }
}

spring配置文件
 

<dubbo:reference id="UserService1" interface="com.bjpowernode.dubbo.service.UserService" version="1.0.0"/>
<dubbo:reference id="UserService2" interface="com.bjpowernode.dubbo.service.UserService" version="2.0.0"/>

在Controller中我使用了@Autowired注解,而@Autowired注解是通过类型对beabn进行注入的,如果有多个相同类型的bean需要注入,则会自动根据需要注入的bean的名称与对应的bena id自动匹配注入。而我在配置文件中配置的bean id和需要注入的bean名称不一样。改一下bean id与需要注入的bean的名称一致,就可以使用@Autowired在多个同类型bean实现注入

注意大小写

<dubbo:reference id="userService1" interface="com.bjpowernode.dubbo.service.UserService" version="1.0.0"/>
<dubbo:reference id="userService2" interface="com.bjpowernode.dubbo.service.UserService" version="2.0.0"/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值