-
ConfigConstant :接口,配置常量
-
PropsUtil:属性文件工具类
-
ConfigHelper:属性文件助手类,用PropsUtil结合ConfigConstant加载properties文件,有个Properties成员
-
ClassUtil:类操作工具类,获取类加载器,加载类,获取指定包名下的所有类
-
annotation:Action,Controller,Inject,Service
-
ClassHelper:类操作助手类,成员Set存放所加载的类,获取应用包名下的所有类,Service,Controller,Bean类
-
ReflectionUtil:反射工具类,用于创建实例,调用方法,设置成员变量值
-
BeanHelper:用Map存放bean类与bean实例的映射关系,通过getBean()获取Bean实例,容器功能
-
IocHelper:依赖注入助手类,通过BeanHelper获取Bean Map,遍历取出Bean类和Bean实例, 反射获取所有成员变量,判断当前成员变量是否带有Inject注解, 若有,则根据Bean类从Bean Map中取出Bean实例,通过反射修改当前成员变量的值
-
ControllerHelper:控制器助手类,用Map存放请求与处理器的映射关系, 获取所有@Controller类,通过反射获取该类中所有带有@Action的方法,获取@Action中的请求表达式, 进而获取请求方法和请求路径,封装一个请求对象(Request)和处理对象(Handler),建立映射关系放入Map中, 提供根据请求方法与请求路径获取处理对象的方法
-
HelperLoader:加载Hellper类,通过统一入口init()方法加载前面的ClassHelper,BeanHelper,IocHelper, Controller的静态块
-
DispatcherServlet:请求转发器,从HttpServletRequest对象中获取请求方法和请求路径,通过 ControllerHelper的getHandler()方法获取Handler对象,从Handler中获取Controller类, 然后根据这个Controller类,通过BeanHelper的getBean()方法获取Controller实例, 然后从HttpServletRequest获取所有请求参数,封装到Param对象中(Map),用ReflectionUtil反射调用方法, 返回视图对象或数据对象,视图则转发到对应的页面,数据则返回JSON给浏览器(HttpServletResponse)
- 下一步是增加AOP特性
转载于:https://my.oschina.net/NeedLoser/blog/794843