java模板
① 如何創建 java 項目模板
用eclipse插件開發(RCP,也就是你講的swt/jface)做一個插件吧.
首先建個模板工程,就是一個你要作為模板的普通工程;
然後做一個插件,可以是一個按鈕,點擊彈出一個對話框,進行一些基本配置,如項目名、路徑等,確定後,將把模板工程拷貝到目標的工作區中,然後改一下項目配置(一般你的項目根目錄下都會有項目的基本屬性的文件,.project、.classpath等,可以用插件直接編輯它們),之後導入工程,模板就導入了
不知道你是不是這個意思
② java項目中怎麼實現模板管理
最好是將模版定義為格式話好的文件,資料庫裡面存模版的名字,這樣通過關鍵判斷使用什麼模版,希望能幫到你
③ java模板語言哪個好
各有個的好處,個人比較看好velocity
④ JAVA中的泛型和C++中的模板是不是一樣啊,哪位大俠知道,請舉例說明下,多謝。
很不一樣,隨便列舉一些
c++的模板,就如同模板這個詞字面上的意思一樣,屬於字元的替代過程
比如有一個模板函數
template <typename T>
void foo(T t) {
t.bar();
}
那麼這個可以編譯。不過你使用這個函數的時候,T必須是包含bar函數的類
java 則不行
static <T> void foo(T t) {
t.bar();
}
這個是通不過編譯的,因為編譯器只知道T是一種Object,不知道T的具體類型。
你甚至不能寫T t = new T(); 因為在這個方法定義的時候,編譯器也不能保證T是有構造函數的
因為c++的模板做事方式是字元串的替代,所以模板參數是int等基本類型是完全沒有問題的。
java則不允許int等基本類型作為泛型參數。比如ArrayList<int>是不可以的
java 有covariance 和 contravariance
也就是也可以寫一個泛型方法,限定泛型參數是某一個具體的類的子類,比如
static <T> void foo(List<T extends Object> list)
這將能夠接受List<String>作為參數,如果只寫List<Object>,那是不能將List<String>作為參數傳給他的
c++沒有這種機制
⑤ java實現模板
http://blog.csdn.net/jason0539/article/details/45037535
java無法像c++那樣定義模板,只能是以邏輯的形式(上述例子中抽象類中隱含強制了子類的行為)。
上面的例子很簡單,java也沒法寫出看上去就很復雜的代碼(如果真有那是水平差的表現),它在父類中規范了子類的行為,起到了模板的作用。
⑥ 用java開發中大型網站,一般都是用模板引擎么比如XLTemplate、Velocity、FreeMarker這些。
這個看你網站功能和性能需求了。網上有很多關於這些技術區別的,你可以去看一看。
引用篇文章給你:
淺談jsp、freemarker、velocity區別
http://blog.csdn.net/tjcyjd/article/details/16803877 作者:浮雲中的毛驢
以前做web開發頁面層用的基本就是就是,最近公司java項目頁面層用的技術是velocity。聽說jsp要淘汰,也不知道是真是假,但本人還是比較喜歡jsp的,下面是網上查找的javaweb項目頁面3種技術的區別。
在java領域,表現層技術主要有三種:jsp、freemarker、velocity。
jsp是大家最熟悉的技術
優點:
1、功能強大,可以寫java代碼
2、支持jsp標簽(jsp tag)
3、支持表達式語言(el)
4、官方標准,用戶群廣,豐富的第三方jsp標簽庫
5、性能良好。jsp編譯成class文件執行,有很好的性能表現
缺點:
jsp沒有明顯缺點,非要挑點骨頭那就是,由於可以編寫java代碼,如使用不當容易破壞mvc結構。
velocity是較早出現的用於代替jsp的模板語言
優點:
1、不能編寫java代碼,可以實現嚴格的mvc分離
2、性能良好,據說比jsp性能還要好些
3、使用表達式語言,據說jsp的表達式語言就是學velocity的
缺點:
1、不是官方標准
2、用戶群體和第三方標簽庫沒有jsp多。
3、對jsp標簽支持不夠好
freemarker
優點:
1、不能編寫java代碼,可以實現嚴格的mvc分離
2、性能非常不錯
3、對jsp標簽支持良好
4、內置大量常用功能,使用非常方便
5、宏定義(類似jsp標簽)非常方便
6、使用表達式語言
缺點:
1、不是官方標准
2、用戶群體和第三方標簽庫沒有jsp多
選擇freemarker的原因:
1、性能。velocity應該是最好的,其次是jsp,普通的頁面freemarker性能最差(雖然只是幾毫秒到十幾毫秒的差距)。但是在復雜頁面上(包含大量判斷、日期金額格式化)的頁面上,freemarker的性能比使用tag和el的jsp好。
2、宏定義比jsp tag方便
3、內置大量常用功能。比如html過濾,日期金額格式化等等,使用非常方便
4、支持jsp標簽
5、可以實現嚴格的mvc分離
⑦ 有沒有人知道關於java 界面模板的網站,就是有一些寫的很漂亮的界面的模板
酷站代碼http://www.5icool.org/
源碼天空http://www.codesky.net/article/200508/72743.html
⑧ 在JAVA中是如何體現C++的函數模板這種機制的
最初的Java是堅持強類型的OOP語言,所以拋棄了C/C++很多動態特性,包括指針、模板等等的,認為這樣語法簡單,不容易出錯。
後來由於開發者的強烈要求,又漸漸加入很多其他語言的特性,包括枚舉、泛型、註解等,甚至Java7開始想支持閉包等。
其實我覺得各個語言都有各個語言的特色,都弄得一樣了那就沒特色啦。沒有模板/泛型,程序邏輯一樣可以寫,嚴謹點寫個功能強大的一樣沒問題,何必把什麼特性都集中起來呢?
例如你的例子:
要求X、Y都是對象,並且實現Comparable介面。
那麼用(X.compareTo(Y)>0) ? X : Y就可以了。
例如對象封裝,也可以實現類似模板的功能啦,當然每類需求的實現方式都不一樣的。
不過,你為什麼一定問在JDK1.5之前的版本怎麼支持模板?就像最初的C++也不支持模板一下,老版本的Java當然也可以不支持泛型。目前JDK1.4之前的版本由於性能等原因已經基本被淘汰了,基本以JDK1.6為主流,那裡泛型還是能解決不少問題的。
⑨ java中有模版的概念嗎
模版是在C++裡面的說法,在java裡面是泛型,也就是說所操作的數據類型被指定為一個參數,在Java1.5之後才添加的,這個在這也說不清楚,涉及內容太多,建議你看think in java
<K extends Serializable, V extends Cacheable<K>>
這句的意思是K必須繼承於Serializable,V必須繼承於Cacheable,在Cacheable裡面只能存放K類型數據 ,
CachedMap<K, V>
的意思是這個Map裡面參數類型必須是<K,V>且順序不能變
⑩ eclipse怎麼修改新建java文件時的默認模板
方法如下:
依次點擊eclipse菜單欄上的window(工具欄)->preference->java(左邊菜單)->Code Style->Code Template->code(右邊)->class body->edit(點擊右邊按鈕)
輸入void f()(彈出框中)->ok->ok