micro-mvc框架支撐mvc各層代碼熱部署

micro-mvc框架,藉助nhmicro框架和groovy技術使所有的controller、servicebean、dao和sql腳本都支持動態熱部署和調試。

Controller層
Controller層groovy中使用註解MicroUrlMapping設置url地址

類上的註解必須有並作爲根路徑

各個方法中設置子路徑

比如下面的groovy中test方法可以調用url爲/testController/test

方法參數固定爲HttpServletRequest request, HttpServletResponse response

@MicroUrlMapping(name="/testController")
class TestController extends MicroControllerTemplate  {  
    public String tableName="micro_test3";
    public String getTableName(HttpServletRequest httpRequest){
        return tableName;
    } 

    @MicroUrlMapping(name="/test")
    public void test(HttpServletRequest request, HttpServletResponse response){

可以繼承MicroControllerTemplate獲取默認增刪改查功能http接口。但需要在controller中寫明super的調用過程並設置url

    @MicroUrlMapping(name="/delInfo")
    public void delInfo(HttpServletRequest httpRequest, HttpServletResponse httpResponse){
        super.delInfo(httpRequest, httpResponse);
    }

Service層

建議將service功能和controller層功能融合在同一個groovy中實現。如果一定要分出service層groovy,
又不願意用GroovyExecUtil顯示調用。可通過註解InjectGroovy注入service層groovy的代理接口對象。

加載groovy時遇到InjectGroovy註解的成員變量,會自動生成成員接口的代理對象並注入。
代理對象的功能是調用name指定的groovy中與接口同名的方法。

    @InjectGroovy(name="testGroovy")
    public ITest test;

如果service層對象是傳統java編寫的,或microdao的mapper對象,可以使用Resource從spring中註解注入。

    @Resource
    public TestRep testRep;

Aop機制

加載groovy時提供aop代理機制,默認提供事務aop和數據源切換aop
事務aop,可在加載時,識別Transactional註解,實現事務控制。

可自行別寫特定功能代理。

開啓代理需要在groovy的類中設置@MicroAop註解指定代理類

@MicroAop(name=[MicroDefaultLogProxy.class,MicroTMProxy.class,MicroDbProxy.class], property=["","",""])
@MicroUrlMapping(name="/testController")
class TestController extends MicroControllerTemplate  {  

Dao層

MicroDao同時支持mysql和oracle

MicroDao相對mybatis的優點:

1,sql腳本支持修改後熱部署實時生效。

2,bean與數據庫字段映射關係,通過註解設置到bean中,不必在sql腳本中體現。

3,sql腳本支持類似jsp的寫法,且不必區分select、update使用不同標籤,更加靈活。

4,不需要使用插件,內置支持物理分頁。

5,不需要使用插件,內置支持針對bean的標準增刪改查功能。

6,不需要使用插件,內置支持讀寫分離,分庫分表。

7,針對mysql5.7支持動態字段。

支持mapper、template、非orm三種模式支撐業務系統

1,mapper指,通過掃描接口,運行時自動生成dao實例;

2,template指,通過繼承template標準父類,生成dao子類;

3,非orm指,直接使用microDao實例,可以執行非orm更靈活的數據庫操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章