Smart Framework 在技术选型方面作了多方面的考虑,必须拥有较高的市场占有率,而且具备丰富的参考资料。 数据库
详细的技术选型以下: 架构
Web 框架 框架 |
使用 Servlet 3.0 规范,可部署在 Tomcat 7.0+ 上 工具 |
单元测试 性能 |
使用 JUnit,由于它是 Java 业界市场占有率最高的单元测试框架 单元测试 |
数据库链接池 测试 |
使用 Apache Commons DBCP,由于它稳定而高效 spa |
JDBC 封装 .net |
使用 Apache Commons DbUtils,由于它足够轻量级,且功能基本够用 插件 |
文件上传 |
使用 Apache Commons FileUpload,由于它使用起来很是方便 |
日志 |
使用 SLF4J,由于它提供了日志操做的统一接口,可以使用 Log4J 或其它工具做为具体实现 |
JSON 库 |
使用 Jackson,由于它拥有较高的性能,且市场占有率较高 |
动态代理 |
使用 CGLib,由于能够弥补 JDK 动态代理的不足,可在运行时对 class 进行字节码加强 |
除此之外,也使用了 Apache Commons 的其它知名项目,例如:Lang、Collections、BeanUtils、Codec 等。
经过以上技术选型,咱们能够得知,这些技术都是开源项目,而它们之间存在如下依赖关系:
不难发现,这些项目都拥有较小的体积:
可见,jar 包文件总大小还不到 4 M。
下面再来看看 Smart 框架源码的 LOC(代码行数)统计吧:
可见,代码实际总行数(去掉注释与空行)还不到 3000 行。
核心:
MVC |
基于 Servlet 3.0 规范 |
IOC |
轻量级 IOC 容器 |
AOP |
轻量级 AOP 框架 |
ORM |
基于 JDBC 规范 |
DAO |
统一的数据访问 API |
插件:
Cache |
基于注解或使用 Cache API |
WebService |
发布与调用 SOAP 服务或 REST 服务 |
|
邮件发送与收取 |
I18N |
国际化多语言包 |
Job |
基于 Quartz 的 cron 表达式的任务调度框架 |
Hessian |
经过 HTTP 传输二进制数据 |
Template |
基于 Velocity 的模板引擎 |