軟件代碼的生成工具屢見不鮮,用起來各種問題層出不窮,改東改西BUG繁多。本想着用工具來避免沒必要的勞動提高開發效率,到最后卻不盡人意。
逐漸研究過一些代碼生成工具之后感觸頗深。閑話短說,先聊一下我的使用經驗,有興趣的開發哥們可以看一下
第一步:要使用一個工具或者軟件首先看的是咱們的硬件配置及軟件環境:
JDK:1.5版本
CPU:最好是大於1GH
內存:大於512M(這個就不用說了)
硬盤的存儲空間:大於512M(同上)
操作系統:windows、linux
瀏覽器:現在只支持IE瀏覽器,而且IE6以上版本要開啟兼容模式
第二步:當然是下載安裝了
去網站上下載,下載解壓文件后包含“軟工廠“的war包和數據庫備份文件(MySQL數據庫備份)。
將war包發布,如發布到本地D:/Tomcat/webapp目錄下,根目錄為softFactory 安裝MySQL數據庫,如數據庫名稱為SFDB,安裝完成后將數據庫備份文件導入到新按照的MySQL數據庫中;修改表a1_admission_host中各記錄中的IP地址,將所有127.0.0.1:8080改為:服務器主機IP:端口。也可以不修改原有數據,而拷貝建立新的數據,並設置為服務器IP和端口。
打開文件D:/Tomcat/webapp/softfactory/WEB-INF/classes/systemPath.properties,設置systemPath=D:/ Tomcat/webapp/softfactory
打開文件D:/Tomcat/webapp/softFactory/WEB-INF/classes/db.properties,配置數據庫連接地址為本地數據庫
打開文件D:/Tomcat/webapp/softfactory/WEB-INF/spring/ applicationContext-resources.xml,修改數據庫連接地址
注:以上內容配置完成后啟動服務器(這里是Tomcat),訪問http://localhost:8080/softfactory,顯示軟工廠的首頁,說明安裝成功。
安裝成功后,要去網站上注冊信息保存。(這個就不多說了)
使用新注冊的管理員賬號登陸,進入綜合管理模塊的部門管理菜單,在該模板中添加部門,如項目一部。
進入綜合管理的用戶管理菜單,在該模塊中添加用戶
添加的用戶登錄后就可以使用軟工廠了(終於可以使用了,雖然有點繁瑣,但是相比來講還是比較省力的,所以大家還是一步步的來,為了提高咱們的開發效率值得了。)
下面我在講一下“軟工廠”的幾個模板管理包括(數據源管理、表管理、對象管理中配置對象和屬性等具體的知識要點。然后進行一個簡單的增刪改查操作,有興趣的可以交流一下,多學點東西總沒壞處。)
下面開始講解知識要點和實例操作
在使用軟工廠進行開發的過程中,首先,在項目管理中創建目標項目,項目創建成功后,為項目配置人員和包前綴名稱。其中,只有屬於該項目的人員才能在其表管理和對象管理中管理該項目的資源,否則不顯示;
在項目管理過程中,表管理用來定義目標系統的數據結構,包括表名稱、字段類型、字段長度等;對象管理用來定義目標系統的業務邏輯,如頁面展現方式、編輯元素類型、是否作為列表字段、是否作為查詢條件等。
其中,業務邏輯的定義依賴於數據機構的定義,即表管理,軟工廠中表的來源有通過PDM上傳提取表、通過自定義SQL創建表和手工添加表三種;表管理中需要設置表名稱、字段類型、長度等數據結構內容。數據結構定義完成后,在表管理的基礎上進行對象管理,對象通常通過表轉化而來,對象管理中包括對象配置、屬性管理和代碼生成三部分內容。
代碼生成是根據對象管理中設置的對象關系或對象屬性來工作的,即對象管理是開發人員工作的主題,表管理為對象管理服務,那么,表從何而來呢,以下介紹表生成的幾種方式:
(1)PDM上傳(這個是常用到的)
將項目的數據庫設計文件(PDM文件)上傳到軟工廠中,平台自動將PDM文件中設計的表解析為軟工廠中的表,上傳后能夠在表管理中查看到生成的表。在平台中可以對表進行修改,如字段中文名稱等。
一般情況下,在項目開發之前有項目負責人將設計好的PDM上傳到軟工廠中,開發人員只需對生成的表進行配置。
(2)自定義SQL了
通過自定義SQL查詢將查詢結果(多為視圖)生成平台中的表。使用自定義SQL建立表時需要建立目標系統的數據源,即在數據源管理中添加目標系統數據庫的鏈接地址、用戶名、密碼等。
表的管理
數據庫設計文件(PDM文件)上傳后被解析為表,並在表管理中顯示,表中的部分字段從PDM文件中提取,開發人員可以設置表信息和字段信息,設置完成后點擊“轉化對象”按鈕,表被轉化為相應的對象。
除了通過PDM上傳的方式獲取表數據外,還可以通過手工添加的方式添加表,先添加表再添加表字段,添加表時需要設置表的中文名稱和英文名稱,添加字段時需要設置字段的英文名稱、中文名稱、字段類型、字段長度、是否必填等屬性。
對象管理
對象來源於表,即表轉化為對象。對象管理中包括對象配置、屬性管理和生成代碼三部分。
(1)對象配置
對象管理中包含對象基本信息設置、子對象設置、父對象設置、關聯對象設置、代碼生成配置。
1) 所屬項目:即當前對象所屬的目標項目;
2) 對應的表:即對應的表管理中的表;
3) 名稱英文:即對象名稱,在生成的代碼中會用到該名稱作為生成功能模板中的參數,如將該名稱作為java項目中的實體類名稱;
4) 名稱中文:即對象名稱的中文,在生成的代碼中會用到該名稱作為功能模板中的參數,如將該名稱作為java項目中編輯頁面的標題;
5) 主鍵:作為功能模板的參數,如1號生產線中根據主鍵刪除和根據主鍵查詢等方法對應的模板文件中使用了對象主鍵;
6) 外鍵:作為功能模板的參數,如1號生產線中根據外鍵刪除方法對應的模板文件中使用了對象外鍵屬性;
7) 對象類型:根據具體業務進行設置,如要生成當前對象的增刪改查功能,則設置為單對象即可,如果模板的目標實現中包含對子表的操作則選擇父對象,並設置子對象,具體的設置方式需要根據模板的要求進行設置,目前對象類型包括:單對象、父對象、子對象(一對一)、子對象(一對多)、關聯對象。其中,選擇父對象時需要在子對象設置中設置關聯的子對象;選擇子對象時需要在父對象設置中設置對應的父對象;
(2) 子對象設置
當目標業務或選擇的功能模板中要求設置子對象時,必須在“子對象設置”中設置子對象,並設置與當前對象的關聯鍵。當選擇的功能模板中要求包含子對象時,必須設置,否則,代碼生成時出錯。當選擇的功能模板中沒有要求時,是否設置不影響代碼生成。
(3) 父對象設置
與子對象設置類似,根據選擇的功能模板要求進行設置。
(4) 關聯對象設置
當業務間的關聯關系多余兩級時,需要設置關聯對象,如對多對多表關系的處理。
(5) 代碼生成配置
該部分主要設置在代碼生成時除對象信息之外的作為功能模板的參數的屬性,包括以下內容:
1) 包名前綴:來源於項目管理中為項目設置的包名前綴,作為功能模板中的參數填充到生成的代碼中,如java實體類的package前綴;
2) 功能名稱:作為功能模板的常用參數,如實現具體功能的模板中可以以該名稱命名;
3) 自定義參數:以json格式定義的參數,在功能模板中使用,按照功能模板的對象要求進行設置;
功能模板選擇:在生成線中選擇要使用的功能模板,模板選擇后對象要求將顯示在對應的條目中。在實際使用中可以先進行對象配置在選擇模板,這種操作方式要求對功能模板有一定的了解,否則,對象的設置可能不符合模板要求;另外,還可以先選擇功能模板,根據功能模板中的對象要求對當前對象進行配置,保證對象的正確性。在生產線樹中選擇模板時只能選擇功能模板節點,根據生產線和模板分類提示定位到符合業務要求的功能模板后進行選擇。
(6) 屬性管理
屬性管理是對對象的所有屬性進行設置,以滿足業務要求,包括對頁面顯示屬性設置、驗證類型等設置、取值范圍設置、自定義標簽設置參見相關產品——自定義標簽的相關說明;屬性設置表單如下圖所示:
對於SSH項目而言,屬性管理中需要配置當前屬性是否可編輯,即在編輯頁面出現;是否可查詢,即作為查詢條件在查詢頁面出現,並在后台進行相關處理的代碼生成;是否可列表,即是否作為列表頁面的顯示內容;是否可詳細,即該屬性是否在查看頁面顯示。另外,還包括數據庫類型、java類型、hibernate類型、輸入框類型、界面驗證類型等。其中,驗證類型的配置請參考相關產品——驗證框架的相關說明。
屬性管理中各屬性對應的配置項設置需要根據業務規則進行設置,部分數據項如屬性名稱、數據庫類型、最大值、最小值等從表管理中自動提取並填充,但可以任意修改,但最好與數據庫保持一致,否則,生成的代碼可能包含業務或數據錯誤,如屬性的最大值設置超過了實際數據庫中的最大值,那么,在生成的代碼中就包含隱藏錯誤。
屬性管理中的部分屬性的取值中包含相關產品中的內容,以下對這一部分屬性進行分別介紹:
1) 輸入框:目前軟工廠提供的輸入框類型有常規頁面組件類型和在線編輯器。其中,單選按鈕組件、復選按鈕組件、下拉列表組件等采用自定義標簽方式,輸入框取值中以workDB和workBook為前綴的選項為自定義標簽輸入組件。關於自定義標簽的使用說明參見相關產品——自定義標簽的相關文檔。
2)驗證類型:目前驗證類型包括常用的幾種類型,在屬性管理中只是對屬性的驗證類型進行設置,具體的驗證規則由模板而定。
3)標識碼、參數值: 自定義標簽中的值大多取自字典表,參數值對應字典表中的字典標識;標識碼對應WorkDB或WorkBook中的取值規則,參數值作為取值規則中的參數從數據字典中取值,並封裝成頁面組件。
4)逃逸值:在自定義標簽中,部分項在某些情況下不顯示時,設置該項對應的值為逃逸值,則在組件顯示時不顯示此選項。
(7) 生成代碼
當對象配置和屬性管理完成后就可以生成代碼了,代碼生成后跳轉到代碼生成結果頁面,在該頁面中顯示源碼文件名稱和錯誤信息,如沒有出現錯誤信息時說明生成沒有出錯,下載源碼壓縮包並解壓,將解壓的源碼文件按照目錄拷貝到開發環境中進行測試。
實例演示(想學的朋友跟着學)
以人員管理為例,為了簡單起見,人員管理中只包含對人員信息的維護,即人員的增刪查該。
人員管理的數據庫采用Access數據庫,結構如下圖所示:
項目采用SSH框架開發,基礎環境已經建立,即軟工廠試用版0號生產線中的開發環境。
操作流程
1、在項目管理中添加將要開發的目標項目——人員管理
2 添加包名前綴為com.waysoft.employeeManage
3 上傳人員管理的數據庫設計文件(PDM)
4 上傳成功后在表管理中出現人員表
5 點擊“字段管理”查看字段信息(不符合業務要求的信息可以修改,如必填項、字段長度等。)
6 點擊“轉化對象”按鈕轉化對象顯示無錯誤,在對象管理中查看轉化而來的對象——人員表
7 點擊“對象配置”
選擇主鍵為:id;
對象類型為單對象;
包名前綴選擇:com.waysoft.employeeManage
功能名稱不用填寫,根據模板的要求而定
自定義參數不同填寫,根據模板要求而定
8 選擇功能模板:點擊“選擇模板”按鈕,進入生產線瀏覽頁面
選擇0號生產線中的單表實現模板
9 功能模板選擇成功后,根據模板的對象要求檢查當前對象配置是否正確,配置正確后保存
10 點擊“屬性管理”按鈕,對對象的各屬性進行配置
分別設置每個配置項的取值
設置完成后的結果如下圖:
11、設置完成后保存,屬性管理設置完成
12、對象配置和屬性管理配置完成后點擊“生成代碼”按鈕,進入代碼生成結果頁面
13、點擊“源碼下載”,並保存源碼壓縮文件
14、解壓后出現3個文件夾
1) config目錄下存放spring和struts配置文件
2) java目錄下存放java源碼文件並按照包結構建立
3)pages目錄下存放jsp頁面文件
以上目錄建立和文件存放規則都在功能模板和模板文件中進行設置
15、將生成的文件拷貝到開發環境對應的目錄下
Comfig目錄下的spring和struts配置文件拷貝到src目錄下
Java目錄下的文件夾拷貝到src目錄下
Pages目錄下的文件夾拷貝到pages目錄下
16、代碼生成完成,可以對代碼進行測試和調試了
下面我們在來說一些其他的介紹吧:
1 首先說說她的原材料:
軟工廠是以對象為原材料的工廠,在軟工廠中可以定義對象的各種屬性以及對象間的各種關系。在軟件應用系統開發中,通常將業務模型映射成關系型數據表,每張數據表對應一個業務對象,軟工廠提供一種快捷簡單的業務對象構建方式,首先根據數據庫設計文件(PowerDesigner),生成表結構,然后將數據表轉化為對象,因此對象的構建簡單方便。
生產線
生產線是一組由功能模板組成的集合。程序員將具有重復性的功能提煉成一個功能模板,多個功能模板組成一條完整的生產線。每個軟工廠的使用者都可以自己編寫屬於自己的生產線,將自己多年的開發經驗進行總結提煉,形成一套完整的生產線,提升工作效果,避免重復Coding。軟工廠內置有0號、1號生產線,供學習使用。
操作人員
我們廣大的程序員。
軟工廠作為一個功能模板引擎容器,適用於任何軟件開發技術和開發語言,適用於任何行業領域,他面向業務的開發理念和自動編碼的驗證性開發模式大大提高了軟件的生產效率,提升了程序員的工作效率,避免了重復性勞動,為軟件企業節約開發成本,規范代碼編寫習慣。因此,軟工廠將成為您工作的助手和朋友。
2.特性
(1) 廣泛的適用性
軟工廠作為一個功能模板引擎容器,適用於任何軟件開發技術和開發語言。由使用者決定生產線的組成模板,使用者可根據自身的需要編寫各種功能模板。
(2) 開發快速、代碼規范、提高工作效率
軟工廠根據功能模板自動生成一套完整的功能代碼,使開發速度大幅度提升,減少了開發人員的工作量,降低了人力成本,同時自動生成的代碼具有很好的規范性,更易於維護。
(3) 降低項目風險
- 使用軟工廠可以進行快速開發保證了項目建設的進度;
- 軟工廠生成代碼的規范性保證了可測試性和可維護性及軟件穩定性;
- 驗證性開發保證了業務的正確性,少走彎路;
- 代碼重建速度快,為項目重建提供了堅實的技術支撐。
(4) 業務—編碼—測試貫穿始終
使用軟工廠進行開發時,每個功能模塊的開發都遵循業務規則定義—代碼生成—單元測試的流程,這種模式可以保證在軟件建設的始終都緊密結合軟件需求,從業務上保證軟件的正確性。
(5) 模板可定制,一次開發多次使用
對於一些使用頻率較高的功能或者技術框架,可以定制一套模板,在以后的開發中都可以使用該模板,代碼具有高度的一致性和規范性,有利於軟件的測試和維護。
(6) 形成軟件企業的技術核心
軟件開發屬於知識密集型勞動,軟件開發企業將多年積累的開發經驗編制成功能模板,形成一套完成的生產線,有助於企業技術的積累和復用。
(7) 易學易用,學習成本低
(8) 免費下載、免費使用
軟工廠又增添了幾條生產線,根據自己的需求建立生產線,完成開發任務,節約開發成本。
軟工廠V2.0版本已經上線,歡迎大家免費使用!附帶視頻教學地址:http://www.tudou.com/programs/view/tAkuLYrXxOw/