基于 Java8
创造的轻量级、高性能、简洁优雅的Web框架 😋
darts是一个轻量、优雅的MVC框架,提供了类似于Spring
的Bean容器、IOC、AOP、MVC等功能。
功能流程:
- 在构造方法中获取Bean容器
BeanContainer
的单例实例 - 获取并遍历
BeanContainer
中存放的被RequestMapping注解标记的类 - 遍历这个类中的方法,找出被
RequestMapping
注解标记的方法 - 获取这个方法的参数名字和参数类型,生成
ControllerInfo
(存储Controller相关信息的封装类) - 根据
RequestMapping
里的value()
和method()
生成PathInfo
(存储http相关信息的封装类) - 将生成的
PathInfo
(key)和ControllerInfo
(value)存到pathControllerMap
中 - 其他类通过调用
getController()
方法获取到对应的controller
功能流程:
- 调用
getRequestParams()
获取HttpServletRequest参数(目前只获取get或post的参数) - 调用
instantiateMethodArgs()
实例化调用方法要传入的参数(实例化只支持java的原生数据类型,还没实现自定义类的实例化) - 通过反射调用目标controller的目标方法
- 调用
resultResolver()
解析方法的返回值,选择返回页面或者json
访问 http://localhost:8888/user/list 可进入列表页:
后台日志如下:
访问 http://localhost:8888/user/detail?id=1 可进入id为1的详情页
后台日志如下:
本项目已参考或即将参考以下优秀的框架,仅供学习使用: