龙空技术网

Map注人|如何实现多个实现类的渠道

老魏说java 22

前言:

而今同学们对“map几种实现”都比较着重,咱们都想要了解一些“map几种实现”的相关知识。那么小编也在网络上汇集了一些有关“map几种实现””的相关知识,希望各位老铁们能喜欢,咱们一起来学习一下吧!

SpringBoot采用策略模式实现多个实现类的注人。

使用Map注人。

公司通过不同的推广渠道获取客户,不同的渠道有不同的处理方式。如何实现呢?通常的做法是根据渠道编码调用不同的方法。这种方法虽然结构清晰,但如果渠道数量较多,代码会变得冗长。是否有更好的方法呢?

·看一下代码示例,这里定义了一个渠道处理的service接口,只有一个handle方法。这里有两个实现类,分别为a渠道和b渠道。这里添加了service注解,并将service的名称改为渠道名称。

·最后看一下控制器,这里通过map注入了渠道接口,bean会在启动时自动查找实现了该接口的bean并放入map中。key为bean的名称,这里就是渠道名称。value是实现接口的所有bean,这里调用了a渠道的方法,并在这里打了个断点。

·看一眼这个map,通过Postman调用一下,这里可以看到map集合,key就是渠道名称,对应的value就是实现类。看一眼控制台,打印了a渠道的调用处理方法。

小伙伴们有什么更好的方法吗?评论区讨论一下。关注一下哦。

标签: #map几种实现