1. 在Service层,有两个bean实例
1 | // UserService.java |
1 | // UserServiceImpl1.java |
1 | // UserServiceImpl2.java |
2. 在Controller层,无法自动注入
因为有两个类型(UserService)一致的bean,所以无法自动注入。
3. 使用@Primary和@Qualifier注解实现注入
3.1 @Primary
在众多相同的Bean中,优先使用@Primary注解的Bean,相当于提供了默认的注入选项。这里是把@Primary注解写在了UserServiceImpl1上。
3.1.1 注入成功
在controller层,可以看到已经成功注入。
3.1.2 访问
username
处末尾多了SSS
,成功使用了UserServiceImpl1
中的findUserById
方法。
3.2 @Qualifier
@Qualifier
指定使用哪个Bean进行注入。这里直接在controller层进行配置,指定注入了UserServiceImpl2
1 |
|
3.2.1 访问
username
处末尾没有SSS
,成功使用了UserServiceImpl2
中的findUserById
方法。