關於java代碼生成器---上篇之原理

講代碼生成器以前先要說說模板,什麼叫模板呢,舉個例子吧,匯款單都見過吧,你不填寫的那些內容都屬於模板範疇java

說到這應該明白了吧,模板就是把共性提取出來反覆使用,節約時間、工做量。。。。。編程

那跟代碼生成器有什麼關係呢,思考一下在編程語言中全部的語言是否是都用共性或者說規範,這些都是固定不變的,在具體點,軟件行業也是分主營業務的,好比OA、CRM、ERP、SCM等等,那麼各個業務方向的軟件是否是也有其行業特色,這是否是也是固定的,那麼這就完了,這些獨特的地方是否是能夠提取出來做爲模板呢,不言而喻編程語言

言歸正傳,說到模板就不得不說如今主流的模板技術了,FreeMarker、Velocity(這個google在用),模板技術推崇一種模式:google

輸出=模板+數據,因此運用到代碼生成器上也是同樣的道理,舉個簡單例子好比要生成一個javabean組件,就普通的pojo類,ci

那麼先分析一下生成這種類有什麼共性呢,關鍵字就不用說了,getter和setter方法都是get+屬性名uppercase首字母和set+屬性名uppercase首字母,還有「{}」、「;」、「()」等等這些都是不變的,那麼這些內容就能夠做爲模板內容,包名、類名、屬性名這些是人爲要取的,這些是變化的,故變的這部分就做爲數據,這樣就能夠根據不一樣的‘數據’來生成不一樣的javabeanget

相關文章
相關標籤/搜索