第一组示例
@Bean
public User user1() {
return new User("user1", 1);
}
@Bean
public User user2() {
return new User("user2", 2);
}
@Autowired
private List<User> users = new ArrayList<>();
@GetMapping("/say")
public List<User> hello() {
return users;
}
浏览器请求显示
[
{
name: "user1",
number: 1
},
{
name: "user2",
number: 2
}
]
第二组示例
@Bean
@Qualifier
public User user1() {
return new User("user1", 1);
}
@Bean
public User user2() {
return new User("user2", 2);
}
@Autowired
@Qualifier
private List<User> users = new ArrayList<>();
@GetMapping("/say")
public List<User> hello() {
return users;
}
浏览器请求显示
[
{
name: "user1",
number: 1
}
]
总结:
@Autowired
可以将多个bean以集合的形式注入,List、Map等- 当spring容器中有多个相同类型的bean的时候,可以通过
@Qualifier
来进行区分,然后在注入的时候明确表明你要注入具体的哪个bean,消除歧义