Smart 2.0 开发指南 —— 架构

1 技术选型

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 等。

2 项目依赖

经过以上技术选型,咱们能够得知,这些技术都是开源项目,而它们之间存在如下依赖关系:

image

不难发现,这些项目都拥有较小的体积:

image

可见,jar 包文件总大小还不到 4 M。

下面再来看看 Smart 框架源码的 LOC(代码行数)统计吧:

image

可见,代码实际总行数(去掉注释与空行)还不到 3000 行。

3 系统架构

image

核心:

MVC

基于 Servlet 3.0 规范

IOC

轻量级 IOC 容器

AOP

轻量级 AOP 框架

ORM

基于 JDBC 规范

DAO

统一的数据访问 API

插件:

Cache

基于注解或使用 Cache API

WebService

发布与调用 SOAP 服务或 REST 服务

Mail

邮件发送与收取

I18N

国际化多语言包

Job

基于 Quartz 的 cron 表达式的任务调度框架

Hessian

经过 HTTP 传输二进制数据

Template

基于 Velocity 的模板引擎

相关文章
相关标签/搜索