公司新开发的服务需要调用其他公司的接口,但是给APP提供的接口是同一个,需要后端去自己判断使用哪个service。
可以想到,最简单的办法就是if else根据字段去选个方法执行,但是,这样项目的拓展性不够高。
想到了spring的依赖查找。下面是spring实现依赖查找的小demo。
首先创建一个service接口用来进行拓展,名字为IDependService,如下图:
加下来,创建两个IDependService接口的实现类,DependService1和DependService2如下图:
适用名字进行注入,稍后根据注入的名字进行依赖查找,分别在两个实现方法中打印一段文字,进行验证。
最后,创建一个controller进行调用。如下图:
我们将IDependService注入map中,这个key也就是我们刚才注入的service名字。我们可以根据key获取指定的service。
然后,通过多台调用相应的实现方法。这样子,是不是拓展性强了很多呢!不用再去很low的if else了。