@Autowired可以注入List和Map

时间:2025-02-15 14:22:08

spring是支持这种基于接口实现类的直接注入的

@Autowired
private List<MyInterface> myList;

这样就直接将MyInterface的子类bean直接添加到了myList中,并且还可以用Order来指定添加顺序

没看过此处源码,但盲猜是在bean的后置处理器中,解析到带@Autowired的注解且是List或Map的类型的属性,则将其泛型的所有子类找出来,将bean添加进去。

参考:Spring @Autowired 注入到List和Map