边看书边跟着敲代码,学着搭一个springmvc的简单框架,代码我放在了GitHub上: GitHub
主要类:
annotation.Action类:Action注解
annotation.Controller类:Controller注解
annotation.Inject类:Inject注解
annotation.Service类:Service注解
bean.Data类:返回数据对象,如果是Data类型,则返回json数据,有Object model字段
bean.Handler类:用于封装Action信息,有Method actionMethod,Class<?> controllerClass字段
bean.Param类:请求参数对象,用于封装url请求参数,有Map<String,Object> paramMap字段
bean.Request类:封装请求信息,有requestmethod和requestPath字段
bean.View类:返回视图对象,有path,Map<String,Object> model字段
helper.BeanHelper类:定义Bean映射(用于存放Bean类和Bean实例的映射关系),有Map<Class<?>,Object> BEAN_MAP字段
helper.ClassHelper类:定义类集合(用于存放所加载的类),BEAN_MAP的数据来源,在本项目为所有使用了@Controller注解或@Service注解的类的Map<Class<?>,Object>,内含CLASS_SET字段
helper.ConfigHelper类:默认配置类,通过PropsUtil读取配置字段
helper.ControllerHelper类:内含Map<Request,Handler>ACTION_MAP字段,用于存放请求和处理器的映射关系,初始化时,会将所有@controller注解的类进行分析,是否有@Action注解的方法,如果有,则将其分析成request和handler,放入ACTION_MAP中
helper.IocHelper类:实现IOC依赖注入的类
helper.DatabaseHelper类:数据库相关的类
util.CastUtil类:类型转换工具类
util.ClassUtil类:加载类工具类,loadClass,getClassSet等方法
util.CodeUtil类:编码工具类
util.PropsUtil类:配置文件读取工具类
util.RelectionUtil类:反射工具类,newInstance,invokeMethod,setField(设置成员变量)等方法
util.StreamUtil类:输入输出流工具类
ConfigConstant类:默认配置类
DispatcherServlet类:请求转发器类
第三章主要讲了两个部分,一个是IOC依赖注入,一个是DispatcherServlet请求转发,下面是两部分的流程:
IOC
学习资料
servlet,ServletContext,servletConfig的区别
ServletRegistration
RequestDispatcher