通过手写Spring MVC来理解其原理
Spring MVC简单说,是Spring生态圈里的一个优秀的MVC框架,也可以认为是一个增强型的servlet(核心是DispatcherServlet,配置在web.xml中)。
Spring MVC相关总结:https://www.cnblogs.com/doudouxiaoye/p/5693399.html
通过对Spring MVC原理的了解,自己手写一个简洁版的,可以按照以下步骤进行实现:
-
定义注解(常用的@Controller、@Autowired、@RequestMapping、@RequestParam、@Service等)
-
扫描base包下所有class类名,所有类对象放进List
-
看哪些类加了注解,然后进行实例化,所有bean放进Map
-
给bean自动注入对象
-
给所有的请求路径与方法建立映射关系,并存进Map
-
处理请求的url,获取参数,找到对应的方法并调用(Spring MVC如何根据请求的url定位到方法,源码解析:https://blog.csdn.net/songzehao/article/details/84979847)
手写Spring MVC框架的github源码地址:https://github.com/oaHeZgnoS/repo2019