在学习设计模式的时候,看到网上最多的是,电压的那个例子,但是说实话,我看了只会,确实也没理解到适配器模式怎么使用,在看springmvc源码的时候,有看到这个模式在框架中的使用,所以,就记录一下
在springmvc源码中,所有的请求,都会进入到
org.springframework.web.servlet.DispatcherServlet#doDispatch
在这个方法中,有一个很重要的代码,就是获取到处理器适配器,在这里,就是使用的适配器设计模式
org.springframework.web.servlet.DispatcherServlet#getHandlerAdapter
protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException {
if (this.handlerAdapters != null) {
for (HandlerAdapter ha : this.handlerAdapters) {
if (logger.isTraceEnabled()) {
logger.trace("Testing handler adapter [" + ha + "]");
}
if (ha.supports(handler)) {
return ha;
}
}
}
throw new ServletException("No adapter for ha