本發(fā)明涉及計算機軟件技術(shù)領(lǐng)域,特別是涉及一種代碼自動生成方法及裝置。
背景技術(shù):
為了給人們的日常生活提供便利,豐富人們的日常生活,越來越多的計算機應(yīng)用應(yīng)運而生。計算機應(yīng)用包括即時通信應(yīng)用、游戲應(yīng)用等。
計算機應(yīng)用通常是由開發(fā)人員基于MVC框架通過代碼編寫的方式開發(fā)實現(xiàn)。因此,隨著計算機應(yīng)用功能的增多,在開發(fā)計算機應(yīng)用時,開發(fā)人員的代碼編寫量也變得越來越龐大。
因此,提供一種代碼自動生成方法及裝置,以在降低開發(fā)人員代碼編寫量的基礎(chǔ)上實現(xiàn)對計算機應(yīng)用的開發(fā),是亟待解決的問題。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種代碼自動生成方法及裝置,以在降低開發(fā)人員代碼編寫量的基礎(chǔ)上,實現(xiàn)對計算機應(yīng)用的開發(fā)。
為了實現(xiàn)上述目的,本發(fā)明實施例提供的技術(shù)方案如下:
一種代碼自動生成方法,包括:
基于MVC框架創(chuàng)建項目工程的情況下,接收代碼自動生成請求,所述代碼自動生成請求指示有目標(biāo)路徑和數(shù)據(jù)庫表,所述目標(biāo)路徑為所述項目工程的子目錄;
獲取預(yù)設(shè)的與所述數(shù)據(jù)庫表對應(yīng)的元信息;
處理所獲取的元信息,得到與所述數(shù)據(jù)庫表對應(yīng)的基本信息屬性對象和構(gòu)造注解屬性對象;
利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件;
將所述代碼文件輸出到所述目標(biāo)路徑下。
優(yōu)選的,所述利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件,包括:
利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板中的后端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的后端代碼文件;
利用所述基本信息屬性對象和預(yù)設(shè)的代碼生成模板中的前端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的前端代碼文件;
其中,所述前端代碼文件和后端代碼文件構(gòu)成與所述代碼自動生成請求對應(yīng)的代碼文件。
優(yōu)選的,所述后端代碼生成模板包括功能代碼模塊和注解模塊,所述利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板中的后端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的后端代碼文件,包括:
利用所述基本信息屬性對象為所述功能代碼模塊中的變量賦值,將所述功能代碼模塊被賦值后的后端代碼生成模板確定為初始后端代碼文件;
利用所述構(gòu)造注解屬性對象為所述注解模塊中的變量賦值,將所述注解模塊被賦值后的所述初始后端代碼文件確定為后端代碼文件;
其中,所述利用所述基本信息屬性對象為所述功能代碼模塊中的變量賦值,得到與所述功能代碼模塊對應(yīng)的至少一個功能代碼;
所述利用所述構(gòu)造注解屬性對象為所述注解模塊中的變量賦值,得到分別與每個所述功能代碼對應(yīng)的注解。
優(yōu)選的,前端代碼生成模塊包括至少一個頁面模板,所述頁面模板包括公共方法模塊和標(biāo)簽?zāi)K,
所述利用所述基本信息屬性對象和預(yù)設(shè)的代碼生成模板中的前端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的前端代碼文件,包括:
利用所述基本信息屬性對象為所述公共方法模塊中的變量賦值,將所述公共方法模塊被賦值后的所述頁面模板確定為第一前端代碼生成文件;
利用所述基本信息屬性對象為所述標(biāo)簽?zāi)K賦值,將所述標(biāo)簽?zāi)K被賦值后的所述第一前端代碼生成文件確定為第二前端代碼生成文件;
其中,各個所述第二前端代碼生成文件構(gòu)成與所述代碼自動生成請求對應(yīng)的前端代碼文件;所述利用所述基本信息屬性對象為所述公共方法模塊中的變量賦值,得到與所述公共方法模塊對應(yīng)的至少一個公共方法,每個所述公共方法與一個所述注解相關(guān)聯(lián)。
優(yōu)選的,所述接收代碼自動生成請求,包括:
響應(yīng)對預(yù)設(shè)的代碼自動生成條件的成功觸發(fā),展示代碼自動生成對話框;
接收代碼自動生成請求,所述代碼自動生成請求為響應(yīng)用戶對所述對話框的操作生成的。
優(yōu)選的,所述代碼自動生成請求還指示有目標(biāo)文件名,所述代碼文件的文件名與所述目標(biāo)文件名相關(guān)。
優(yōu)選的,所述代碼生成模板為freemarker模板。
優(yōu)選的,所述后端代碼生成模板包括:controller類文件、domain類文件、service接口類文件、service實現(xiàn)類文件。
優(yōu)選的,所述前端代碼生成模板包括:前端列表頁面模板、前端添加頁面模板、前端修改頁面模板,和/或前端明細(xì)頁面模板。
一種代碼自動生成裝置,包括:
代碼自動生成請求接收單元,用于在基于MVC框架創(chuàng)建項目工程的情況下,接收代碼自動生成請求,所述代碼自動生成請求指示有目標(biāo)路徑和數(shù)據(jù)庫表,所述目標(biāo)路徑為所述項目工程的子目錄;
元信息獲取單元,用于獲取預(yù)設(shè)的與所述數(shù)據(jù)庫表對應(yīng)的元信息;
元信息處理單元,用于處理所獲取的元信息,得到與所述數(shù)據(jù)庫表對應(yīng)的基本信息屬性對象和構(gòu)造注解屬性對象;
代碼文件自動生成單元,用于利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件;
代碼文件輸出單元,用于將所述代碼文件輸出到所述目標(biāo)路徑下。
本申請實施例提供一種代碼自動生成方法及裝置,通過在基于MVC框架創(chuàng)建項目工程的情況下,接收代碼自動生成請求(所述代碼自動生成請求指示有目標(biāo)路徑和數(shù)據(jù)庫表,所述目標(biāo)路徑為所述項目工程的子目錄);獲取預(yù)設(shè)的與所述數(shù)據(jù)庫表對應(yīng)的元信息;處理所獲取的元信息,得到與所述數(shù)據(jù)庫表對應(yīng)的基本信息屬性對象和構(gòu)造注解屬性對象;利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件;將所述代碼文件輸出到所述目標(biāo)路徑下的方式,實現(xiàn)了在基于MVC框架創(chuàng)建項目工程(計算機應(yīng)用)的過程中,計算機應(yīng)用中部分代碼(代碼文件)的自動生成,有效降低了開發(fā)人員的代碼編寫量。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請實施例提供的一種代碼自動生成方法流程圖;
圖2為本申請實施例提供的一種利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件的方法流程圖;
圖3為本申請實施例提供的一種利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板中的后端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的后端代碼文件的方法流程圖;
圖4為本申請實施例提供的一種利用所述基本信息屬性對象和預(yù)設(shè)的代碼生成模板中的前端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的前端代碼文件的方法流程圖;
圖5為本申請實施例提供的一種代碼自動生成裝置的結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
實施例:
圖1為本申請實施例提供的一種代碼自動生成方法流程圖。
如圖1所示,該方法包括:
S101、基于MVC框架創(chuàng)建項目工程的情況下,接收代碼自動生成請求,所述代碼自動生成請求指示有目標(biāo)路徑和數(shù)據(jù)庫表;
本申請實施例提供的一種代碼自動生成方法應(yīng)用于基于MVC框架創(chuàng)建項目工程的情況下,所述項目工程為計算機應(yīng)用。
可選的,所述計算機應(yīng)用為web應(yīng)用。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置計算機應(yīng)用的具體內(nèi)容,在此不做限定。
在本申請實施例中,優(yōu)選的,本申請實施例提供一種代碼自動生成方法應(yīng)用于代碼自動生成服務(wù)器,所述代碼自動生成服務(wù)器為所述代碼自動生成方法提供技術(shù)支持。
可選的,所述代碼自動生成服務(wù)器的功能可由多臺服務(wù)器組成的服務(wù)器集群組實現(xiàn),也可由單體服務(wù)器實現(xiàn)。
在本申請實施例中,優(yōu)選的,在基于MVC框架創(chuàng)建項目工程時,可接收用戶發(fā)送的代碼自動生成請求,所述代碼自動生成請求指示有目標(biāo)路徑和數(shù)據(jù)庫表,所述目標(biāo)路徑為所述項目工程的子目錄,即,所述目標(biāo)路徑為所述項目工程中的一個子目錄。
在本申請實施例中,優(yōu)選的,所述項目工程對應(yīng)數(shù)據(jù)庫,所述代碼自動生成請求指示的數(shù)據(jù)庫表位于所述項目工程對應(yīng)的數(shù)據(jù)庫中。
需要說明的是:所述代碼自動生成請求指示的目標(biāo)路徑、數(shù)據(jù)表均由用戶在發(fā)送代碼自動生成請求時,由用戶根據(jù)自己的需求而設(shè)定。
在本申請實施例中,優(yōu)選的,所述接收代碼自動生成請求,包括:響應(yīng)對預(yù)設(shè)的代碼自動生成條件的成功觸發(fā),展示代碼自動生成對話框;接收代碼自動生成請求,所述代碼自動生成請求為響應(yīng)用戶對所述對話框的操作生成的。
可選的,預(yù)設(shè)有代碼自動生成條件,成功觸發(fā)所述代碼自動生成條件的方式包括:代碼自動生成按鈕被按下。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置代碼自動生成條件的具體內(nèi)容,以及成功觸發(fā)代碼自動生成條件的具體方式,在此不做限定。
可選的,所述代碼自動生成對話框中包括信息輸入位置以及請求發(fā)送按鈕;通過所述信息輸入位置可實現(xiàn)信息輸入,在完成信息輸入后可通過點擊所述請求發(fā)送按鈕的方式,實現(xiàn)發(fā)送代碼自動生成請求的目的,所述代碼自動生成請求指示的目標(biāo)路徑和數(shù)據(jù)庫表是由用戶對所述信息輸入位置的操作實現(xiàn)的。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)定實現(xiàn)“所述代碼自動生成請求為響應(yīng)用戶對所述對話框的操作生成的”過程的具體方式,在此不做限定。
S102、獲取預(yù)設(shè)的與所述數(shù)據(jù)庫表對應(yīng)的元信息;
可選的,所述項目工程對應(yīng)數(shù)據(jù)庫,所述數(shù)據(jù)庫中包括至少一張數(shù)據(jù)庫表,預(yù)設(shè)有分別與每張所述數(shù)據(jù)庫表對應(yīng)的元信息。
在本申請實施例中,優(yōu)選的,所述代碼自動生成請求指示的數(shù)據(jù)庫表位于與所述項目工程對應(yīng)的數(shù)據(jù)庫中,所述代碼自動生成請求指示的數(shù)據(jù)庫表的張數(shù)為至少一張。
可選的,預(yù)設(shè)分別與數(shù)據(jù)庫中的每張數(shù)據(jù)庫表對應(yīng)的元信息的過程,包括:分別對所述數(shù)據(jù)庫中的每張數(shù)據(jù)庫表進(jìn)行分析,確定與所述數(shù)據(jù)庫表對應(yīng)的元信息。
可選的,當(dāng)接收到代碼自動生成請求后,針對所述代碼自動生成請求指示的每張數(shù)據(jù)庫表分別執(zhí)行步驟S102-S105。
S103、處理所獲取的元信息,得到與所述數(shù)據(jù)庫表對應(yīng)的基本信息屬性對象和構(gòu)造注解屬性對象;
在本申請實施例中,優(yōu)選的,所述基本信息屬性對象指示一個對象,所述對象為攜帶級別信息屬性的對象。所述構(gòu)造注解屬性對象指示一個對象,所述對象為攜帶構(gòu)造注解屬性的對象。
S104、利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件;
可選的,預(yù)設(shè)有代碼生成模板,在得到與所述數(shù)據(jù)庫表對應(yīng)的基本信息屬性對象和構(gòu)造注解屬性對象后,可利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件。
S105、將所述代碼文件輸出到所述目標(biāo)路徑下。
可選的,將所述代碼文件輸出到所述目標(biāo)路徑下,包括:將所述代碼文件顯示到用于創(chuàng)建項目工程的展示界面中所展示的所述目標(biāo)路徑下,便于在所述展示界面中所展示的項目工程中直觀展示所述代碼文件,便于開發(fā)人員直接對所述項目工程中的代碼文件進(jìn)行處理(例如,修改等)。
在本申請實施例中,優(yōu)選的,將所述代碼文件輸出到所述目標(biāo)路徑下,還包括:將所述代碼文件輸出到用于存儲所述項目工程的數(shù)據(jù)庫中的所述目標(biāo)路徑下。
需要說明的是:在用于創(chuàng)建項目工程的展示界面中和用于存儲所述項目工程的數(shù)據(jù)庫中均存在所述目標(biāo)路徑,即,用于創(chuàng)建項目工程的展示界面中所展示的所述項目工程的目錄(此處指示所述展示界面中展示的所述項目工程中的各個文件的路徑),與用于存儲所述項目工程的數(shù)據(jù)庫中存儲的所述項目工程的路徑(此處指示所述數(shù)據(jù)庫中存儲的所述項目工程的各個文件的路徑)完全相同。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置“將所述代碼文件輸出到所述目標(biāo)路徑下”的具體方式,在此不做限定。
本申請實施例提供一種代碼自動生成方法,通過在基于MVC框架創(chuàng)建項目工程的情況下,接收代碼自動生成請求(所述代碼自動生成請求指示有目標(biāo)路徑和數(shù)據(jù)庫表,所述目標(biāo)路徑為所述項目工程的子目錄);獲取預(yù)設(shè)的與所述數(shù)據(jù)庫表對應(yīng)的元信息;處理所獲取的元信息,得到與所述數(shù)據(jù)庫表對應(yīng)的基本信息屬性對象和構(gòu)造注解屬性對象;利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件;將所述代碼文件輸出到所述目標(biāo)路徑下的方式,實現(xiàn)了在基于MVC框架創(chuàng)建項目工程(計算機應(yīng)用)的過程中,計算機應(yīng)用中部分代碼(代碼文件)的自動生成,有效降低了開發(fā)人員的代碼編寫量。
為了更加全面的對本申請實施例提供的一種代碼自動生成方法進(jìn)行闡述,現(xiàn)對本申請實施例提供的一種利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件的方法進(jìn)行詳細(xì)介紹,請參見圖2。
如圖2所示,該方法包括:
S201、利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板中的后端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的后端代碼文件;
可選的,代碼生成模板包括后端代碼生成模板和前端代碼生成模板。
可選的,所述后端代碼生成模板包括:controller類文件、domain類文件、service接口類文件、service實現(xiàn)類文件。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置代碼生成模板和后端代碼生成模板中的具體內(nèi)容,在此不做限定。
可選的,所述代碼生成模板為freemarker模板。即,所述代碼生成模板是根據(jù)freemarker模板語言編寫。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置代碼生成模板所使用的具體模板語言,在此不做限定。
S202、利用所述基本信息屬性對象和預(yù)設(shè)的代碼生成模板中的前端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的前端代碼文件。
可選的,所述前端代碼生成模板包括:前端列表頁面模板、前端添加頁面模板、前端修改頁面模板,和/或前端明細(xì)頁面模板。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置前端代碼生成模板中的具體內(nèi)容,在此不做限定。
在本申請實施例中,優(yōu)選的,所述前端代碼文件和后端代碼文件構(gòu)成與所述代碼自動生成請求對應(yīng)的代碼文件。
通過上述對本申請實施例提供的利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件的方法的進(jìn)一步介紹,使得本申請實施例提供的代碼自動生成方法更加清晰、完整,便于本領(lǐng)域技術(shù)人員理解。
為了更加全面的對本申請實施例提供的一種代碼自動生成方法進(jìn)行闡述,現(xiàn)對本申請實施例提供的一種利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板中的后端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的后端代碼文件的方法進(jìn)行詳細(xì)介紹,請參見圖3。
如圖3所示,該方法包括:
S301、利用所述基本信息屬性對象為所述功能代碼模塊中的變量賦值,將所述功能代碼模塊被賦值后的后端代碼生成模板確定為初始后端代碼文件;
在本申請實施例中,優(yōu)選的,所述后端代碼生成模板包括功能代碼模塊和注解模塊。
可選的,所述利用所述基本信息屬性對象為所述功能代碼模塊中的變量賦值,將所述功能代碼模塊被賦值后的后端代碼生成模板確定為初始后端代碼文件,包括:遍歷所述后端代碼生成模板中的功能代碼模塊中的變量;從所述基本信息屬性對象中確定與所遍歷到的變量對應(yīng)的值;利用所確定的值為所遍歷到的變量賦值,將所述功能代碼模塊中的變量被賦值后的所述后端代碼生成模板確定為初始后端代碼文件。
在本申請實施例中,優(yōu)選的,遍歷所述后端代碼生成模板中的功能代碼模塊中的變量;針對所遍歷到的每個變量而言,從所述基本信息屬性對象中確定與所述變量對應(yīng)的值,并將所述值賦值給所述變量;將所述功能代碼模塊中的所有變量均被賦值后的所述后端代碼生成模板確定為初始后端代碼文件。
S302、利用所述構(gòu)造注解屬性對象為所述注解模塊中的變量賦值,將所述注解模塊被賦值后的所述初始后端代碼文件確定為后端代碼文件。
其中,所述利用所述基本信息屬性對象為所述功能代碼模塊中的變量賦值,得到與所述功能代碼模塊對應(yīng)的至少一個功能代碼;所述利用所述構(gòu)造注解屬性對象為所述注解模塊中的變量賦值,得到分別與每個所述功能代碼對應(yīng)的注解。
可選的,所述利用所述構(gòu)造注解屬性對象為所述注解模塊中的變量賦值,將所述注解模塊被賦值后的所述初始后端代碼文件確定為后端代碼文件,包括:遍歷所述初始后端代碼文件中的注解模塊中的變量;從所述構(gòu)造注解屬性對象中確定與所遍歷到的變量對應(yīng)的值;利用所確定的值為所遍歷到的變量賦值,將所述注解模塊中的變量被賦值后的所述初始后端代碼文件確定為后端代碼文件。
在本申請實施例中,優(yōu)選的,遍歷所述初始后端代碼生成文件中的注解模塊中的變量;針對所遍歷到的每個變量而言,從所述構(gòu)造注解屬性對象中確定與所述變量對應(yīng)的值,并將所述值賦值給所述變量;將所述注解模塊中的所有變量均被賦值后的所述初始后端代碼文件確定為后端代碼文件。
通過上述對本申請實施例提供的利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板中的后端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的后端代碼文件的方法的進(jìn)一步介紹,使得本申請實施例提供的代碼自動生成方法更加清晰、完整,便于本領(lǐng)域技術(shù)人員理解。
為了更加全面的對本申請實施例提供的一種代碼自動生成方法進(jìn)行闡述,現(xiàn)對本申請實施例提供的一種利用所述基本信息屬性對象和預(yù)設(shè)的代碼生成模板中的前端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的前端代碼文件的方法進(jìn)行詳細(xì)介紹,請參見圖4。
如圖4所示,該方法包括:
S401、利用所述基本信息屬性對象為所述公共方法模塊中的變量賦值,將所述公共方法模塊被賦值后的所述頁面模板確定為第一前端代碼生成文件;
在本申請實施例中,優(yōu)選的,前端代碼生成模塊包括至少一個頁面模板,所述至少一個頁面模板包括:前端列表頁面模板、前端添加頁面模板、前端修改頁面模板,和/或前端明細(xì)頁面模板。每個所述頁面模板均包括公共方法模塊和標(biāo)簽?zāi)K。
可選的,所述利用所述基本信息屬性對象為所述公共方法模塊中的變量賦值,將所述公共方法模塊被賦值后的所述頁面模板確定為第一前端代碼生成文件,包括:遍歷所述頁面模板中的公共方法模塊中的變量;從所述基本信息屬性對象中確定與所遍歷到的變量對應(yīng)的值;利用所確定的值為所遍歷到的變量賦值,將所述公共方法模塊中的變量被賦值后的所述頁面模板確定為第一前端代碼生成文件。
在本申請實施例中,優(yōu)選的,針對每個頁面模板,分別執(zhí)行以下過程:遍歷所述頁面模板中的公共方法模塊中的變量;針對所遍歷到的每個變量而言,從所述基本信息屬性對象中確定與所述變量對應(yīng)的值,并將所述值賦值給所述變量;將所述公共方法模塊中的所有變量均被賦值后的所述頁面模板確定第一前端代碼生成文件。
S402、利用所述基本信息屬性對象為所述標(biāo)簽?zāi)K賦值,將所述標(biāo)簽?zāi)K被賦值后的所述第一前端代碼生成文件確定為第二前端代碼生成文件,各個所述第二前端代碼生成文件構(gòu)成與所述代碼自動生成請求對應(yīng)的前端代碼文件。
其中,所述利用所述基本信息屬性對象為所述公共方法模塊中的變量賦值,得到與所述公共方法模塊對應(yīng)的至少一個公共方法,每個所述公共方法與一個所述注解相關(guān)聯(lián)。
可選的,所述利用所述基本信息屬性對象為所述標(biāo)簽?zāi)K賦值,將所述標(biāo)簽?zāi)K被賦值后的所述第一前端代碼生成文件確定為第二前端代碼生成文件,包括:遍歷所述第一前端代碼生成文件中的標(biāo)簽?zāi)K中的變量;從所述基本信息屬性對象中確定與所述遍歷到的變量對應(yīng)的值;利用所確定的值為所遍歷到的變量賦值,將所述標(biāo)簽?zāi)K中的變量被賦值后的所述第一前端代碼生成文件確定為第二前端代碼生成文件。
在本申請實施例中,優(yōu)選的,遍歷所述第一前端代碼生成文件中的標(biāo)簽?zāi)K中的變量;針對所遍歷到的每個變量而言,從所述基本信息屬性對象中確定與所述變量對應(yīng)的值,并將所述值賦值給所述變量;將所述標(biāo)簽?zāi)K中的所有變量均被賦值后的所述第一前端代碼生成文件確定為第二前端代碼生成文件。
通過上述對本申請實施例提供的利用所述基本信息屬性對象和預(yù)設(shè)的代碼生成模板中的前端代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的前端代碼文件的方法的進(jìn)一步介紹,使得本申請實施例提供的代碼自動生成方法更加清晰、完整,便于本領(lǐng)域技術(shù)人員理解。
進(jìn)一步的,在本申請實施例提供的一種代碼自動生成方法中,還包括:所述代碼自動生成請求還指示有目標(biāo)文件名,所述代碼文件的文件名與所述目標(biāo)文件名相關(guān)。
可選的,接收到的所述代碼自動生成請求中還指示有目標(biāo)文件名,通過本申請實施例提供的一種代碼自動生成方法所生成的代碼文件的文件名與所述目標(biāo)文件名相關(guān)。例如,若所述目標(biāo)文件名為A,則所述代碼文件的文件名為A1。
在本申請實施例中,優(yōu)選的,所述代碼文件中包括的后端代碼文件和前端代碼文件的文件名均與所述目標(biāo)文件名相關(guān)。例如,若所述目標(biāo)文件名為B,所述代碼文件中的后端代碼文件的文件名為B1,所述代碼文件中的前端代碼文件的文件名為B2。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置所述代碼文件的文件名與所述目標(biāo)文件名相關(guān)的具體方式,例如僅設(shè)置所述代碼文件的后端代碼文件的文件名與所述目標(biāo)文件名相關(guān),在此不做限定。
通過上述對本申請實施例提供的代碼自動生成方法的進(jìn)一步介紹,使得本申請實施例提供的代碼自動生成方法更加清晰、完整,便于本領(lǐng)域技術(shù)人員理解。
上述本發(fā)明公開的實施例中詳細(xì)描述了方法,對于本發(fā)明的方法可采用多種形式的裝置實現(xiàn),因此本發(fā)明還公開了一種裝置,下面給出具體的實施例進(jìn)行詳細(xì)說明。
圖5為本申請實施例提供的一種代碼自動生成裝置的結(jié)構(gòu)示意圖。
如圖5所示,該裝置包括:
代碼自動生成請求接收單元51,用于在基于MVC框架創(chuàng)建項目工程的情況下,接收代碼自動生成請求,所述代碼自動生成請求指示有目標(biāo)路徑和數(shù)據(jù)庫表,所述目標(biāo)路徑為所述項目工程的子目錄;
元信息獲取單元52,用于獲取預(yù)設(shè)的與所述數(shù)據(jù)庫表對應(yīng)的元信息;
元信息處理單元53,用于處理所獲取的元信息,得到與所述數(shù)據(jù)庫表對應(yīng)的基本信息屬性對象和構(gòu)造注解屬性對象;
代碼文件自動生成單元54,用于利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件;
代碼文件輸出單元55,用于將所述代碼文件輸出到所述目標(biāo)路徑下。
進(jìn)一步的,本申請實施例提供的一種代碼自動生成裝置中,所述代碼自動生成請求還指示有目標(biāo)文件名,所述代碼文件的文件名與所述目標(biāo)文件名相關(guān)。
本申請實施例提供一種代碼自動生成裝置,通過在基于MVC框架創(chuàng)建項目工程的情況下,接收代碼自動生成請求(所述代碼自動生成請求指示有目標(biāo)路徑和數(shù)據(jù)庫表,所述目標(biāo)路徑為所述項目工程的子目錄);獲取預(yù)設(shè)的與所述數(shù)據(jù)庫表對應(yīng)的元信息;處理所獲取的元信息,得到與所述數(shù)據(jù)庫表對應(yīng)的基本信息屬性對象和構(gòu)造注解屬性對象;利用所述基本信息屬性對象、構(gòu)造注解屬性對象和預(yù)設(shè)的代碼生成模板,自動生成與所述代碼自動生成請求對應(yīng)的代碼文件;將所述代碼文件輸出到所述目標(biāo)路徑下的方式,實現(xiàn)了在基于MVC框架創(chuàng)建項目工程(計算機應(yīng)用)的過程中,計算機應(yīng)用中部分代碼(代碼文件)的自動生成,有效降低了開發(fā)人員的代碼編寫量。
本發(fā)明中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
以上僅是本發(fā)明的優(yōu)選實施方式,使本領(lǐng)域技術(shù)人員能夠理解或?qū)崿F(xiàn)本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。