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