您好,登錄后才能下訂單哦!
micro-mvc框架,借助nhmicro框架和groovy技術(shù)使所有的controller、servicebean、dao和sql腳本都支持動(dòng)態(tài)熱部署和調(diào)試。
Controller層
Controller層groovy中使用注解MicroUrlMapping設(shè)置url地址
類上的注解必須有并作為根路徑
各個(gè)方法中設(shè)置子路徑
比如下面的groovy中test方法可以調(diào)用url為/testController/test
方法參數(shù)固定為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獲取默認(rèn)增刪改查功能http接口。但需要在controller中寫明super的調(diào)用過程并設(shè)置url
@MicroUrlMapping(name="/delInfo")
public void delInfo(HttpServletRequest httpRequest, HttpServletResponse httpResponse){
super.delInfo(httpRequest, httpResponse);
}
Service層
建議將service功能和controller層功能融合在同一個(gè)groovy中實(shí)現(xiàn)。如果一定要分出service層groovy,
又不愿意用GroovyExecUtil顯示調(diào)用。可通過注解InjectGroovy注入service層groovy的代理接口對(duì)象。
加載groovy時(shí)遇到InjectGroovy注解的成員變量,會(huì)自動(dòng)生成成員接口的代理對(duì)象并注入。
代理對(duì)象的功能是調(diào)用name指定的groovy中與接口同名的方法。
@InjectGroovy(name="testGroovy")
public ITest test;
如果service層對(duì)象是傳統(tǒng)java編寫的,或microdao的mapper對(duì)象,可以使用Resource從spring中注解注入。
@Resource
public TestRep testRep;
Aop機(jī)制
加載groovy時(shí)提供aop代理機(jī)制,默認(rèn)提供事務(wù)aop和數(shù)據(jù)源切換aop
事務(wù)aop,可在加載時(shí),識(shí)別Transactional注解,實(shí)現(xiàn)事務(wù)控制。
可自行別寫特定功能代理。
開啟代理需要在groovy的類中設(shè)置@MicroAop注解指定代理類
@MicroAop(name=[MicroDefaultLogProxy.class,MicroTMProxy.class,MicroDbProxy.class], property=["","",""])
@MicroUrlMapping(name="/testController")
class TestController extends MicroControllerTemplate {
Dao層
MicroDao同時(shí)支持mysql和oracle
MicroDao相對(duì)mybatis的優(yōu)點(diǎn):
1,sql腳本支持修改后熱部署實(shí)時(shí)生效。
2,bean與數(shù)據(jù)庫字段映射關(guān)系,通過注解設(shè)置到bean中,不必在sql腳本中體現(xiàn)。
3,sql腳本支持類似jsp的寫法,且不必區(qū)分select、update使用不同標(biāo)簽,更加靈活。
4,不需要使用插件,內(nèi)置支持物理分頁。
5,不需要使用插件,內(nèi)置支持針對(duì)bean的標(biāo)準(zhǔn)增刪改查功能。
6,不需要使用插件,內(nèi)置支持讀寫分離,分庫分表。
7,針對(duì)mysql5.7支持動(dòng)態(tài)字段。
支持mapper、template、非orm三種模式支撐業(yè)務(wù)系統(tǒng)
1,mapper指,通過掃描接口,運(yùn)行時(shí)自動(dòng)生成dao實(shí)例;
2,template指,通過繼承template標(biāo)準(zhǔn)父類,生成dao子類;
3,非orm指,直接使用microDao實(shí)例,可以執(zhí)行非orm更靈活的數(shù)據(jù)庫操作。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。