W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
前面我們簡單介紹了一下 Hasor 模塊化,并同時展現(xiàn)了一個簡單的例子。接下來在本小節(jié)我們展示一下在同一個項目中進行模塊化的實踐。
現(xiàn)在假定我們在開發(fā)一個用戶管理系統(tǒng),系統(tǒng)根據(jù)功能大致分為:用戶模塊、權限模塊、分類打標、登錄認證。
上述模塊劃分是業(yè)務緯度,在實際開發(fā)中我們真正落實寫代碼時往往會有一個技術緯度的功能分類。例如上述的業(yè)務模塊可能最終的技術模塊會這樣分:數(shù)據(jù)庫讀寫、OAuth、SSO、Domain、User、Auth。它們分別對應的是:
接著使用 Hasor 的 Module 可以定義每一個模塊,這里很簡單無外乎就是定義了 幾個類。例如:
public class MyBatisModule implements Module { ... }
public class OAuthModule implements Module { ... }
public class SSOModule implements Module { ... }
...
現(xiàn)在我們已經(jīng)可以用不同的模塊類將不同的部分隔離開,接下來我們需要一個地方將它們整體配置到一起,并指定它們的順序。
第一個方式,就是我們前面幾次經(jīng)??吹降姆绞?,通過 xml 配置這些 Module。當然在這里您也可沿用這種方式。
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://project.hasor.net/hasor/schema/main">
<hasor.modules>
<module>net.myproject.db.MyBatisModule</module>
<module>net.myproject.auth.OAuthModule</module>
...
</hasor.modules>
</config>
第二種方式,就是我們現(xiàn)在要介紹的一種全新的形式來組合您的模塊。這種方式比起xml 配置來說簡單的很多,使用也很方便。首先找到我們項目的入口 Module,我們假定這個 Module 名字叫做 RootModule。那么接下來我們只要在 RootModule 中想下面這樣把這幾個 Module 安裝進去就可以了。
public class RootModule implements Module {
public void loadModule(ApiBinder apiBinder) throws Throwable {
apiBinder.installModule(new MyBatisModule());
apiBinder.installModule(new OAuthModule());
...
}
}
在第二種方式中我們看到一個 Module 可以被另外一個 Module 所安裝。這就是 Hasor Module 提供的全新的一種方式來處理模塊的依賴配置,這種方式會大大降低我們對配置文件的依賴程度,并且有助于模塊配置的搞內聚。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: