原理
1、通过IOC扫描得到所有的Bean
2、针对有Controller注解的Bean,将其方法、Bean、映射的url放到Handler中
3、DispatchServlet中得到请求后,根据url找到对应的方法。
4、最后调用方法的时候需要进行参数绑定,根据参数类型和参数名字对应上方法的名字和方法填充参数数组,最后调用方法即可。
一个小细节
参数绑定的时候可能需要参数的名字,而编译的时候不一定会将参数的名字和行数等信息编译进去,因此我们使用javac的时候需要打开-g:vars或者-parameter选项,用maven编译的时候会自动使用-g选项。参考Spring MVC - Automatic Parameter Names Discovery

网友评论