使用 Spring 实现策略模式可以这么简单( 二 )
最后我们改造一下 RouteService,具体逻辑如下:
@Servicepublic class RouteService {@AutowiredSet<PayService> payServiceSet;Map<String, PayService> payServiceMap;public PayResult epay(PayRequest payRequest) {PayService payService = payServiceMap.get(payRequest.getChannelNo());returnpayService.epay(payRequest);}@PostConstructpublic void init() {for (PayService payService : payServiceSet) {payServiceMap = new HashMap<>();payServiceMap.put(payService.channel(), payService);}}}
上面代码首先通过自动注入 PayService 一个集合,然后我们再将其转为一个 Map,这样内部存储刚好是唯一标识与实现类的映射了 。
好了,今天的小技巧就分享到这里,学到小伙伴,不妨点个赞吧 。
推荐阅读
- 保姆级教程:内网穿透工具使用总结
- 超实用,喷墨打印机连供使用注意事项,堵头的处理
- Spring框架中都用到了哪些设计模式?
- 电脑压缩文件的使用技巧
- 使用Ettercap工具进行DNS劫持演示
- 百度网盘资源如何使用迅雷下载?
- 水乳精华的使用顺序是什么?
- nest.js + sms 实现短信验证码登录
- Linux cron定时介绍
- 编程:什么时候应该使用Decimal而不是double?