经过1.0版本的摸索后,开始了2.0版本的编写,由于1.0版本只求功能的相似,所以代码没有什么层次可言,可读性也比较差,从而在设计2.0版本的时候首先从架构出发,一定程度上借鉴了Spring和Mybatis的架构设计,大大提升了代码的可读性。
首先对比下与官方的功能差异:
Spring方面:
- IOC容器基本的注册、注入组件、注入属性等;
- 简单的AOP切面;
- 与Spring相比,最大的功能不足在于没有事务支持,暂时只写了简单的AOP;
SpringMVC方面:
- 支持基本的url映射以及方法参数注入(目前只支持注入复合类型和String类型,在之后的自定义SpringBoot版本中会修复);
- 支持返回json数据或者视图;
- 与SpringMVC相比,最大的功能不足在于没有异常处理、注入参数单一等;
Mybatis方面:
- 支持注解的方式绑定sql语句;
- 支持自动映射建表、更新表和简单sql语句的自动映射;
- 与Mybatis相比,最大的功能不足在于不支持事务管理和动态sql;
虽然与官方框架相比有些相形见绌,但是对于目前的学习阶段而言是非常有益的,自己手写一遍之后会深刻的了解底层的执行机制与运行原理;
关于使用到的JAR文件只需要servlet+jdbc驱动+cglib即可;
笔者使用自定义的SSM框架实现了一个简单的小案例