本發(fā)明特別涉及一種基于JFinal架構的路由管理優(yōu)化方法。
背景技術:
JFinal是基于Java語言的極速web開發(fā)框架,其核心設計目標是開發(fā)速度快,代碼量少,學習簡單快捷,功能強大,輕量級,易擴展,Restful。在擁有Java語言所有的優(yōu)勢的同時擁有ruby,python等動態(tài)語言的開發(fā)效率。
JFinal項目開發(fā)始于2011年初,項目開源于2012年3月18日,采用對商業(yè)應用友好的Apache Licence 2.0協(xié)議。開源以來深受廣大開發(fā)者歡迎,目前采用JFinal框架開發(fā)的用戶群迅速壯大,同時不乏一些已經(jīng)上線的商業(yè)化互聯(lián)網(wǎng)項目。JFinal在中國最大的開源社區(qū)備受矚目,自開源以來一直是熱門項目。JFinal將一直堅持以下設計目標:開發(fā)迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。在堅持以上設計目標的同時,基于微內(nèi)核+全方位擴展型架構,打造功能極度全面WEB+ORM開發(fā)框架。徹底解放開發(fā)者的生產(chǎn)力,徹底改善開發(fā)者的開發(fā)體驗,讓軟件開發(fā)成為一件輕松愉快的事情。
JFinal通過實踐逐步形成了一套極速開發(fā)方法,此法將在即將打造的JFinal極速開發(fā)社區(qū)展示出來。
JFinal采用微內(nèi)核全方位擴展架構,全方位是指其擴展方式在空間上的表現(xiàn)形式。JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分組成。
JFinal背身的路由配置實現(xiàn)方式通過Routes里面的add方法添加路由的關系,但在開發(fā)的過程中,項目的一般對于路由的配置會很多,每當實現(xiàn)一個路由Controller都必須要單獨調(diào)用Routes里面的add方法一次,不利于開發(fā)流程的管理的實現(xiàn)。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術的不足,提供一種能夠?qū)γ恳粋€路由實行自動添加,不需要再對每一個路由Controller進行單獨的添加,從而規(guī)范開發(fā)流程和管理的基于JFinal架構的路由管理優(yōu)化方法。
本發(fā)明的目的是通過以下技術方案來實現(xiàn)的:基于JFinal架構的路由管理優(yōu)化方法,包括以下步驟:
S1、為每一個Controller接口定義一個接口注解ControllerBind,并給每一個Controller接口定義唯一的name作為路由請求的路徑;
S2、通過name獲取項目所有的路由,并將獲取的所有的路由放入一個集合中;
S3、將集合中的路由分別通過接口注解ControllerBind綁定model數(shù)據(jù)庫;
S4、根據(jù)getAnnotation方法返回的接口注解ConrollerBind得到viewPath()返回的String判斷是否添加路由,若String中含有Controller接口的name,則添加對應Controller接口的接口注解ControllerBind,否則不添加。
本發(fā)明的有益效果是:本發(fā)明能夠?qū)γ恳粋€路由實行自動添加,不需要再對每一個路由Controller進行單獨的添加,從而規(guī)范開發(fā)流程和管理。
具體實施方式
下面進一步說明本發(fā)明的技術方案。
本發(fā)明的一種基于JFinal架構的路由管理優(yōu)化方法,包括以下步驟:
S1、為每一個Controller接口定義一個接口注解ControllerBind,并給每一個Controller接口定義唯一的name作為路由請求的路徑;
S2、通過name獲取項目所有的路由,并將獲取的所有的路由放入一個集合中;
S3、將集合中的路由分別通過接口注解ControllerBind綁定model數(shù)據(jù)庫;
S4、根據(jù)getAnnotation方法返回的接口注解ConrollerBind得到viewPath()返回的String判斷是否添加路由,若String中含有Controller接口的name,則添加對應Controller接口的接口注解ControllerBind,否則不添加。
實現(xiàn)本發(fā)明的基于JFinal架構的路由管理優(yōu)化方法的具體程序為:
一、AutoControllerBindPluginList類的實現(xiàn):
二、AutoControllerBindPluginList需要的一個類ClassSearcheres實現(xiàn)通過父類查找:
三、ControllerBind類的實現(xiàn):
本領域的普通技術人員將會意識到,這里所述的實施例是為了幫助讀者理解本發(fā)明的原理,應被理解為本發(fā)明的保護范圍并不局限于這樣的特別陳述和實施例。本領域的普通技術人員可以根據(jù)本發(fā)明公開的這些技術啟示做出各種不脫離本發(fā)明實質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護范圍內(nèi)。