方龙的博客


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索
close

动手写web框架(10): 文件上传

发表于 2017-02-17   |   分类于 动手写web框架
文件上传功能基于 Apache Commons FileUpload库。 重新定义Param,封装表单参数(FormParm)和文件参数(FileParam)。 ParamFormParam123456789101112131415161718192021222324package org.smar ...
阅读全文 »

Spring: 事务

发表于 2017-02-16   |   分类于 Spring
概述Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、 TransactionManager这两部分只是会根据数据访问方式有所变化。 Dat ...
阅读全文 »

动手写web框架(9): 事务实现

发表于 2017-02-16   |   分类于 动手写web框架
定义事务注解@Transaction注解只能用于方法级别。Transaction123456789101112131415package org.smart4j.framework.annotation;import java.lang.annotation.ElementType;import j ...
阅读全文 »

动手写web框架(8): AOP实现

发表于 2017-02-16   |   分类于 动手写web框架
定义切面注解Aspect1234567891011121314151617package org.smart4j.framework.annotation;import java.lang.annotation.*;/** * 切面注解 * Created by Roger on 2016/11/2 ...
阅读全文 »

动手写web框架(7): 请求转发器

发表于 2017-02-16   |   分类于 动手写web框架
类似于Spring MVC中的DispatcherServlet,所以我们也需要编写一个Servlet,让它处理所有的请求。 从HttpServletRequest对象中获取请求方法和请求路径; 通过ControllerHelper获取Request对应的Handler,Handler包括Cont ...
阅读全文 »

动手写web框架(6): 初始化框架

发表于 2017-02-16   |   分类于 动手写web框架
通过定义一个HelperLoader类来加载所有的Helper类完成初始化。HelperLoader123456789101112131415161718192021222324252627package org.smart4j.framework;import org.smart4j.framew ...
阅读全文 »

动手写web框架(5): 加载Controller

发表于 2017-02-16   |   分类于 动手写web框架
通过ClassHelper可以获取所有定义了@Controller注解的类,通过反射获取该类中所有带有@Action注解的方法,获取Action注解中的请求表达式,进而得到请求方法和请求路径,将其封装成一个请求对象Request和处理对象Handler,最后把Request和Handler建立映射关 ...
阅读全文 »

动手写web框架(4): 依赖注入实现

发表于 2017-02-16   |   分类于 动手写web框架
IOC的原理参见:IOC原理 对象交给第三方容器管理,维护对象间的关系,并将依赖的成员注入到相关的对象中。 BeanHelper已经可以获取到所有Bean对象,现在就需要遍历这些Bean对象,通过反射获取对象的成员变量,判断成员变量是否带有@Inject注解,如果有就通过反射注入相关的Bean对象。 ...
阅读全文 »

动手写web框架(3): Bean容器

发表于 2017-02-16   |   分类于 动手写web框架
通过ClassHepler类可以获取相关的已加载的类,但是无法获取到类的实例,因而要完成Bean容器,必须借助反射来实例化相应的Bean对象,最后通过一个Map集合维护所有类和对象之间的映射关系。 BeanHelper12345678910111213141516171819202122232425 ...
阅读全文 »

动手写web框架(2): 类加载器

发表于 2017-02-16   |   分类于 动手写web框架
自定义一个类加载器,用于加载基础包名下的所有类,比如使用了某注解的类,实现了某接口的类,或者继承了某父类的所有子类等。 自定义注解一个Web框架需要用到一些自定义的注解。Action1234567891011121314151617package org.smart4j.framework.anno ...
阅读全文 »
1…678…26
方龙

方龙

梦想还是要有的,万一实现了呢

257 日志
33 分类
161 标签
GitHub
© 2016 - 2018 方龙
由 Hexo 强力驱动
主题 - NexT.Mist