91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-07-11 06:16:12 來源:網絡 閱讀:796 作者:wb59f817a362984 欄目:軟件技術

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更靈活的數據庫操作。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泾阳县| 房山区| 仪陇县| 淳化县| 青冈县| 郯城县| 五莲县| 洞头县| 西吉县| 云霄县| 河曲县| 开平市| 伊宁市| 文成县| 临桂县| 望谟县| 朝阳县| 梅州市| 固始县| 巴楚县| 万载县| 治多县| 河西区| 保山市| 宾川县| 仁布县| 海原县| 丰台区| 砚山县| 资兴市| 九江市| 阜平县| 弥渡县| 五大连池市| 盐边县| 上虞市| 紫阳县| 安阳县| 疏勒县| 广饶县| 渝北区|