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 的模板引擎

相關文章
相關標籤/搜索