背景
拦截器中handler强转成HandlerMethod,获取controller中api接口的注解。下面是拦截器的中的一句代码
public class AAAInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
.....
// 开始验权
HandlerMethod handlerMethod = (HandlerMethod) handler;
....
//后面就是通过handlerMethod 去获取到该方法及类上的注解进行判断
}
}
源码探索
接下来我就寻找这个强转的原因,因为我也是第一次见到这么操作,对handler还不是很熟悉
接下来我在Spring源码中找到AbstractHandlerMethodMapping
class AbstractHandlerMethodMapping{
/**
* Detects handler methods at initialization.
*/
@Override
public void afterPropertiesSet