1 技术选型
Smart Framework 在技术选型方面做了多方面的考虑,必须拥有较高的市场占有率,并且具有丰富的参考资料。
详细的技术选型如下:
Web 框架 |
使用 Servlet 3.0 规范,可部署在 Tomcat 7.0+ 上 |
单元测试 |
使用 JUnit,因为它是 Java 业界市场占有率最高的单元测试框架 |
数据库连接池 |
使用 Apache Commons DBCP,因为它稳定而高效 |
JDBC 封装 |
使用 Apache Commons DbUtils,因为它足够轻量级,且功能基本够用 |
文件上传 |
使用 Apache Commons FileUpload,因为它使用起来非常方便 |
日志 |
使用 SLF4J,因为它提供了日志操作的统一接口,可使用 Log4J 或其它工具作为具体实现 |
JSON 库 |
使用 Jackson,因为它拥有较高的性能,且市场占有率较高 |
动态代理 |
使用 CGLib,因为可以弥补 JDK 动态代理的不足,可在运行时对 class 进行字节码增强 |
除此以外,也使用了 Apache Commons 的其它知名项目,例如:Lang、Collections、BeanUtils、Codec 等。
2 项目依赖
通过以上技术选型,我们可以得知,这些技术都是开源项目,而它们之间存在以下依赖关系:
不难发现,这些项目都拥有较小的体积:
可见,jar 包文件总大小还不到 4 M。
下面再来看看 Smart 框架源码的 LOC(代码行数)统计吧:
可见,代码实际总行数(去掉注释与空行)还不到 3000 行。
3 系统架构
核心:
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 的模板引擎 |
来源:oschina
链接:https://my.oschina.net/u/223750/blog/194975