在搭建JaveWeb項目架構中,咱們通常會分層設計,便於後期的維護,開發人員能夠分模塊去開發,提升總體團隊的開發效率。層次按職責分通常分四層:表現層(SpringMVC)、持久層(mybatis)、業務層(service)和域模型層(SDK)。每個層都有各自的職責,應該隔離開來。redis
表現層:咱們能夠選用技術SpringMVC,固然還能夠選用Struts,該層主要根據用戶的請求,響應跳轉到不一樣的UI界面展示。spring
持久層:咱們可選用技術mybatis或者hibernate,該層主要是針對數據庫操做,好比:鏈接數據庫、操做數據庫(簡單的增刪改查)。數據庫
業務層:service主要是具體業務代碼的實現,會調用dao層的接口,咱們這裏把dao層稱爲SDK層。緩存
域模型層:SDK主要特指軟件關注的領域 ,會設計出不少實體對象和接口。mybatis
project-parent架構
|----pom.xmlmvc
|----project-mybatis框架
|----pom.xmlmaven
|----project-SDK分佈式
|----pom.xml
|----project-service
|----pom.xml
|----project-springmvc
|---pom.xml
若考慮到業務須要設計到分佈式和大數據。咱們能夠在這基本四層上進行擴展,好比下面的架構體系
用到Dubbo的分佈式服務框架,storm+kafka實時處理消息隊列,redis去作高速緩存。
project-parent
|----pom.xml
|----project-core
|----pom.xml
|----project-msgConsumer
|----pom.xml
|----project-msgProducer
|----pom.xml
|----project-mybatis
|----pom.xml
|----project-page
|----pom.xml
|----project-SDK
|----pom.xml
|----project-service
|----pom.xml
|----project-SpringMVC
|---pom.xml
|----project-storm
|----pom.xml
接下來博客中會介紹用maven去構建多模塊項目。