getHandler方法根据请求遍历注册到handlerAdapters中的适配器拿到对应的适配器处理。HandlerAdapter接口有三个方法:supports方法:是判断该适配器是否支持这个HandlerMethod,就是当得到一个handler时,该接口子类该方法做判断,用来得到适配这个handler的适配器子类。如果正常编写调用,就需要使用多个if else判断instance of这种方法再添加新的处理器实现方式,就需要修改源码,新增else添加处理逻辑,不符合对扩展开放,对修改关闭原则。使用了HandlerAdapter后,当需要新增一种处理器时,只需要新增一个HandlerAdapter即可,判断逻辑在他的supports方法中,处理逻辑在handle中,不需要修改任何其他代码。

浅析SpringMVC中的适配器HandlerAdapter