應用軟件的代碼生成方法和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及計算機技術領域,特別是涉及一種應用軟件的代碼生成方法和系統(tǒng)。
【背景技術】
[0002]隨著計算機技術的高速發(fā)展,各種各樣的應用軟件出現(xiàn)在我們的生活中;應用軟件的制作一般是經(jīng)過相應代碼的編譯、運行而成,因此代碼的生成對應用軟件的制作至關重要。
[0003]現(xiàn)有技術中對待制作的應用軟件,一般需要應用軟件開發(fā)人員對其需求文檔進行較為詳細的分析理解,然后逐步進行代碼的編輯、修改等工作,這樣便可能導致相應代碼的生成效率低。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對現(xiàn)有技術中,應用軟件的代碼生成效率低的技術問題,提供一種應用軟件的代碼生成方法和系統(tǒng)。
[0005]一種應用軟件的代碼生成方法,包括如下步驟:
[0006]根據(jù)應用軟件的需求文檔獲取所述應用軟件的配置信息;
[0007]將所述配置信息加載至代碼生成器的緩存模塊;
[0008]將所述配置信息對應的模板引擎模板加載至所述緩存模塊后,在所述緩存模塊創(chuàng)建模板引擎;
[0009]根據(jù)所述模板引擎解析模板引擎模板,將所述配置信息和解析后的模板引擎模板進行合并,得到合并模塊;
[0010]根據(jù)所述合并模塊生成應用軟件的代碼。
[0011]一種應用軟件的代碼生成系統(tǒng),包括:
[0012]獲取模塊,用于根據(jù)應用軟件的需求文檔獲取所述應用軟件的配置信息;
[0013]加載模塊,用于將所述配置信息加載至代碼生成器的緩存模塊;
[0014]創(chuàng)建模塊,用于將所述配置信息對應的模板引擎模板加載至所述緩存模塊后,在所述緩存模塊創(chuàng)建模板引擎;
[0015]解析模塊,用于根據(jù)所述模板引擎解析模板引擎模板,將所述配置信息和解析后的模板引擎模板進行合并,得到合并模塊;
[0016]生成模塊,用于根據(jù)所述合并模塊生成應用軟件的代碼。
[0017]上述應用軟件的代碼生成方法和系統(tǒng),通過獲取應用軟件的配置信息,將其加載至代碼生成器的緩存模塊,并將所述配置信息對應的模板引擎模板加載至所述緩存模塊后,在所述緩存模塊創(chuàng)建模板引擎,以此解析模板引擎模板;再將所述配置信息和解析后的模板引擎模板進行合并,得到合并模塊,根據(jù)所述合并模塊生成應用軟件的代碼,其中無需軟件開發(fā)人員進行重復的編輯和修改,實現(xiàn)了應用軟件代碼的自動生成,有效提高了應用軟件的代碼生成效率。
【附圖說明】
[0018]圖1為一個實施例的應用軟件的代碼生成方法流程圖;
[0019]圖2為一個實施例的數(shù)據(jù)庫物理表顯示界面示意圖;
[0020]圖3為一個實施例的應用軟件的代碼生成系統(tǒng)結構示意圖。
【具體實施方式】
[0021]下面結合附圖對本發(fā)明的提供的應用軟件的代碼生成方法和系統(tǒng)的【具體實施方式】作詳細描述。
[0022]參考圖1,圖1所示為一個實施例的應用軟件的代碼生成方法流程圖,包括如下步驟:
[0023]S10,根據(jù)應用軟件的需求文檔獲取所述應用軟件的配置信息;
[0024]上述步驟SlO中,應用軟件的需求文檔一般可以包括應用軟件需要實現(xiàn)的功能等相關配置信息。
[0025]可以根據(jù)應用軟件的需求文檔設計物理數(shù)據(jù)模型,并建立數(shù)據(jù)庫物理表,進而通過上述物理數(shù)據(jù)模型和數(shù)據(jù)庫物理表獲取所述應用軟件的配置信息,以便提高上述配置信息獲取過程中的條理性和準確性;其中,上述數(shù)據(jù)庫物理表的顯示界面可以如圖2所示。
[0026]S20,將所述配置信息加載至代碼生成器的緩存模塊;
[0027]上述步驟S20中,代碼生成器是按照特定編碼規(guī)范輸出代碼的軟件,可以直接生成項目,也可以單頁生成。將所述配置信息加載至代碼生成器的緩存模塊,使需要使用到上述配置信息時,可以加快其讀取的效率,將其加載至代碼生成器的緩存模塊,而非將其保存,可以減少配置信息在代碼生成器中所占用的存儲空間,保證上述代碼生成器的響應速率。
[0028]可以啟動上述代碼生成器(AutoCode),點擊代碼生成器的“代碼自動化”按鈕,在代碼自動化列表處點擊“新增”按鈕,以加載應用軟件的相關配置信息。
[0029]S30,將所述配置信息對應的模板引擎模板加載至所述緩存模塊后,在所述緩存模塊創(chuàng)建模板引擎;
[0030]上述步驟S30中,上述模板引擎可以為FreeMarker,FreeMarker是一個模板引擎,一個基于模板生成文本輸出的通用工具,使用純Java編寫,其模板用servlet提供的數(shù)據(jù)動態(tài)地生成HTML (HyperText Markup Language,超級文本標記語言),其模板語言是強大的直觀的,編譯器速度快,輸出接近靜態(tài)HTML頁面的速度。
[0031]可以根據(jù)應用程序中,外借工資的業(yè)務規(guī)則設計對應的模板引擎模板,上述模板引擎模板可以包括Model類、Dao層、Service層、Act1n層、Jsp頁面、Xml配置等模板。
[0032]S40,根據(jù)所述模板引擎解析模板引擎模板,將所述配置信息和解析后的模板引擎模板進行合并,得到合并模塊;
[0033]S50,根據(jù)所述合并模塊生成應用軟件的代碼。
[0034]上述步驟中,將所述配置信息和解析后的模板引擎模板進行合并,再進行相應代碼的生成,可以提高應用軟件的代碼生成的效率。
[0035]可以將Xml格式的配置信息解析成可讀的FieldMap,再合并模板引擎模板和上述FieldMap,得到合并模塊;對合并模塊里預設的變量按照一定的規(guī)則進行替換,并自動生成相應的注釋;可以根據(jù)配置信息的設置,依次生成Model類、Dao層、Service層、Act1n層、Jsp頁面、Xml配置的目標代碼。
[0036]本實施例提供的應用軟件的代碼生成方法,通過獲取應用軟件的配置信息,將其加載至代碼生成器的緩存模塊,并將所述配置信息對應的模板引擎模板加載至所述緩存模塊后,在所述緩存模塊創(chuàng)建模板引擎,以此解析模板引擎模板;再將所述配置信息和解析后的模板引擎模板進行合并,得到合并模塊,根據(jù)所述合并模塊生成應用軟件的代碼,其中無需軟件開發(fā)人員進行重復的編輯和修改,實現(xiàn)了應用軟件代碼的自動生成,有效提高了應用軟件的代碼生成效率。
[0037]在一個實施例中,上述根據(jù)應用軟件的需求文檔獲取所述應用軟件的配置信息的步驟可以包括:
[0038]根據(jù)應用軟件的需求文檔設計物理數(shù)據(jù)模型;
[0039]根據(jù)所述物理數(shù)據(jù)模型在代碼生成器的代碼詳情處配置代碼名稱、數(shù)據(jù)庫名、代碼類型和使用模板,以得到所述應用軟件的配置信息。
[0040]作為一個實施例,上述根據(jù)所述物理數(shù)據(jù)模型在代碼生成器的代碼詳情處配置代碼名稱、數(shù)據(jù)庫名、代碼類型和使用模板的過程后還可以包括:
[0041]根據(jù)所述配置信息獲取應用軟件對應的表結構信息;
[0042]根據(jù)所述表結構信息對所述配置信息進行初始化;
[0043]將初始化后的配置信息展示到表單配置和查詢配置。
[0044]作為一個實施例,上述將初始化后的配置信息展示到表單配置和查詢配置的步驟后還可以包括:
[0045]對所述表單配置處展示的每個信息的字段中文名和拓展功能進行設置;其中,所述拓展功能包括是否顯示、是否查詢、是否導出排序的功能;
[0046]對所述查詢配置處展示的每個信息的字段中文名和拓展功能進行設置;其中,所述拓展功能包括是否顯示、是否查詢、是否導出排序的功能。
[0047]本實施例中,可以在代碼生成器的代碼詳情處配置代碼名稱、數(shù)據(jù)庫名、表名、包名、類名、作者、代碼類型和使用模板等信息;保存上一步配置的信息后,點擊“初始化配置”,AutoCode會連接到數(shù)據(jù)庫,獲取指定的表結構信息,用于對代碼配置進行初始化,之后展示到表單配置和查詢配置;之后在