SpringBoot学习记录(1)——@Autowired在集合上的作用

public class SmsHandler extends BaseHandler implements Handler {

    @Autowired
    private Map<String, SmsScript> smsScripts;

    // ......
}

例如如上,一个短信发送的处理模块,@Autowired配置在了Map上。
一般@Autowired是注入接口实现类的,加在Map起的是什么作用呢?

原来,Spring支持在集合上注入实现同一个接口的类,可以用集合的方式来访问这些类。

如下:

// 可以拿到对应的smsScript
List<SmsRecord> recordList = smsScripts.get(messageTypeSmsConfig.getScriptName()).send(smsParam);

 

posted @ 2023-02-17 20:05  晚安NN  阅读(104)  评论(0)    收藏  举报