Eclipse从入门到精通(第二版)_ch37

合集下载

Eclipse教程(全)

Eclipse教程(全)

10 付蓉 译
Introduction to Java Programming
图 12
图 13
11 付蓉 译
Introduction to Java Programming
6 在命令行运行 Java Applications
除了使用工具软件来运行 Java 程序,还可以直接在操作系统上单独运行 Java 程序。 下面是在 DOS 命令提示符下运行 Java 程序的步骤: 1. 点击 Windows 左下角的开始->程序->附件->命令提示符打开 DOS 窗口。 2. 输入下名的命令来设置 Java 程序运行的环境 set path=%path%;c:\j2sdk1.5\bin set classpath=.;%classpath% 3. 输入命令 cd c:\smith\myjavaprograms 到存放你所编写程序的目录下。 4. 输入命令 java Welcome 来运行程序。运行输出的界面如图 14 所示:
0 简介
该教程的使用者包括正在通过使用 Eclipse 来学习 Java 课程的学生和想要用 Eclipse 开发 Java 项目的程序员。Eclipse 是由 IBM 提供的一个开源的 Java 程序开发软件。 你也可以使用 JDK 命令行工具来写 Java 程序。JDK 命令行工具包括一系列独立的程序, 如编译器和解释器,都可从命令行来激活。除了 JDK 命令行工具,市场上还有很多 Java 的开发工具,包括 Borland 公司的 JBuilder、NetBeans、Sun 公司的 ONE Studio(商 业版的 NetBeans) 、Eclipse 和 WebGain Visual Café。这些工具为快速开发 Java 程序 提供集成的开发环境(IDE) 。编辑、编辑、构造、调试和在线帮助被集成在一个用户图形

eclipse入门

eclipse入门

Eclipse入门Eclipse的使用简介及插件开发Eclipse 是替代IBM Visual Age for Java(以下简称IVJ)的下一代IDE开发环境,但它未来的目标不仅仅是成为专门开发Java程序的IDE环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。

目前,Eclipse已经开始提供C语言开发的功能插件。

更难能可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。

也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL,Perl,Python等语言的开发插件出现。

同时可以通过开发新的插件扩展现有插件的功能,比如在现有的Java开发环境中加入Tomcat服务器插件。

可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。

虽然目前Eclipse项目还没有最后完成,但从已有的版本中已经能领略到Eclipse设计主导思想和主要功能特点。

现在就了解Eclipse不但能使广大程序员对这款业界期望很高的IDE能一睹为快,更为重要的是如果能参加到Eclipse 项目的开发中或是阅读它的开放源代码,这对广大程序员来说无疑是一个千载难逢的提高编程水平的好机会。

Eclipse计划提供多个平台的版本,象Windows,Linux,Solaris,HP-UX和AIX,以下只介绍Windows版本。

本文第一部分先介绍Eclipse的基本使用方法。

第二部分介绍如何进行Eclipse的插件开发。

一.Eclipse简介Eclipse是开放源代码的项目,你可以到去免费下载Eclipse 的最新版本,一般Eclipse提供几个下载版本:Release,Stable Build,Integration Build和Nightly Build,建议下载Release或Stable版本,笔者用的是Build20020125(Stable版本)。

第13章 插件开发基础 《Eclipse从入门到精通》教学课件

第13章  插件开发基础 《Eclipse从入门到精通》教学课件
首先第一步:新建项目。在新建项目向导中,选择 Plug-in Project。
13.2.5 PDE透视图
向导完成后,会提示是否切换到“PDE透视图”。这里可 以根据个人习惯选择,因为PDE透视图和Java透视图差不多, 只是布局上有一些不同而已。
13.2.6 PDE项目的文件结构
PDE项目的文件结构和Java项目差不多。不同的是, 多了一个META-INF文件夹,以及MANIFEST.MF文件。还 有一个build.properties文件。
第一步:新建插件项目:插件项目也叫PDE项目。开 发插件的第一步就是在Eclipse中建立PDE项目。插件项目 需要由PDE工具来建立。另外PDE工具也提供了把普通 Java项目转换为PDE项目的向导。
第二步:建立Activator: 第三步:编辑manifest 第四步:编辑plugin.xml 第五步:实现扩展点 第六步:扩展Preference 第七步:扩展透视图 第八步:扩展视图 第九步:扩展ActionSet
13.2.7 PDE可视化编辑器
PDE最常用的功能就是使用PDE可视化编辑器。回头 看一下图13-7,在PDE透视图中,占据着编辑器区域的就是 PDE编辑器。PDE编辑器下方的标签也清晰地展示它的功能 。
Overview: Dependencies: Runtime: Extentions: Extention Points: Build: MANIFEST.MF: build.properties: plugin.xml:
13.3.3 使用扩展点向导添加扩展
CO2的功能很简单,只要扩展Java编辑器中的快捷菜 单就可以了。
13.3.3 设置快捷菜单的扩展
向导完成后,可以看到扩展列表中显示了新增的一个扩 展。选择扩展列表中的节点,右边的编辑器动态显示和节点 相关的编辑器。通过编辑器可以对相关的属性进行修改。

Eclipse学习手册

Eclipse学习手册

Eclipse学习手册Eclipse是一个开放源码的、可扩展的应用开发平台,该平台为编程人员提供了一流的Java 集成开发环境。

作为一套开源工具,可用于构建Web Services、J2EE等各种类型的应用,其所提供的功能不亚于、甚至要超过由专业的集成环境供应商所提供的商业化产品,如JBuilder。

Eclipse最有魅力的地方就在于它的插件体系结构。

在这个体系中重要的概念是扩展点(extension points),也就是为插件提供的接口。

每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。

由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。

在Eclipse中实现的绝大部分功能是由相应的插件完成的,比如WrokBench UI插件完成界面的外观显示,Resource Management插件完成维护或生成项目或文件等资源管理工作,而Version and Configuration Management(VCM)插件则负责完成版本控制功能,等等。

虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能,Eclipse 却把它们都做成了插件模式,甚至用来开发Java程序的开发环境(Java development tooling,JDT),也只不过是Eclipse系统中的一个普通插件而已。

整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件。

虽然大多数用户很乐于将Eclipse当做Java IDE来使用,但Eclipse的目标不仅限于此。

Eclipse平台为工具提供者(Tools Provider)提供一套使用机制和一组需要遵循的规则,从而使得开发出的工具之间可以实现无缝的集成。

这些机制通过定义良好的API接口、类和方法提供给用户使用,平台同样为新的工具的开发提供强有力的组件支持(如Plug-in Development Environment,PDE——插件开发环境)。

Eclipse从入门到精通

Eclipse从入门到精通

2005年清华大学出版社出版的图书Eclipse Eclipse从入门到精通从入门到精通目录01内容简介作品目录02基本信息《Eclipse从入门到精通》是2005年清华大学出版社出版的图书,作者是强锋科技、陈刚,该书以SWT/JFace和Eclipse插件开发为核心内容,并兼顾了Web开发,而Eclipse开发环境的使用只占极少部分。

内容简介内容简介本书共分为四篇。

“起步篇”介绍了Eclipse及相关插件的安装,还介绍了一些Eclipse开发环境的基本使用技巧;“SWT/JFace篇”详细介绍了SWT、JFace的使用;“插件开发篇”介绍了Eclipse插件开发的各个步骤,并给出了一个基于数据库开发和面向对象分析设计的完整插件实例;“Web开发篇”以Tomcat+Lomboz+Hibernate为开发环境,详述了其下载、安装、配置和开发的全过程。

本书以SWT/JFace和Eclipse插件开发为核心内容,并兼顾了Web开发,而Eclipse开发环境的使用只占极少部分。

本书内容循序渐进,实例丰富,操作及开发步骤讲解详细,配书光盘含有各主要章节的操作视频演示,是Eclipse开发者不可多得的教程。

作品目录第1篇笫2篇第3篇第4篇作品目录第1篇起步篇第1章Eclipse简介第2章安装Eclipse及多国语言包第3章安装SWI Designer第4章Eclipse的集成开发环境第5章Eclipse中CVS的使用笫2篇SWT/JFace篇第6章SWT概述第7章SWT/JFace的事件模型第8章SWT常用组件第9章容器类第10章布局管理器第11章其他SWT组件第12章图像第13章SWT的线程第14章表格(TableViewer类)第15章树(TreeViewer类)和列表(ListViewer类)第3篇插件开发篇第17章Eclipse插件开发起步第18章常用插件扩展点第19章Eclipse插件的国际化第20章报表:用POI与Excel交互第21章项目的打包与发行第22章插件项目实战第4篇Web开发篇第23章Web环境的搭建(V0010)第24章一个纯JSP+JavaBean实例(V0020)第25章在Eclipse中使用Struts第26章在Eclipse中使用Hibernate附录光盘内容简介谢谢观看。

eclipse知识教程(2)

eclipse知识教程(2)

2文件的组织和结构2.1 ECLIPSE输入/输出结构●箭头表明数据文件可以在应用模板间直接传递;●ECLIPSE及其相关软件并不依赖于数据库来进行数据存储;●用Unix和Windows文件系统进行数据存储;●一些应用模块可以用于作用前处理和后处理(双向箭头);●上表只列出了ECLIPSE的主要结构,并不完整;●一些应用程序被作为一个套件来提供。

ECLIPSE及其前后处理模块是在应用模块所在的文件系统中读写数据的,而并没有用底层数椐库来进行数据存储。

一般说来,应用模块只是在应用模块所运行的当前目录下读写数据,但是也有例外,那就是利用ECLIPSE的关键字“INCLUDE”,它用来把其它包含ECLIPSE关键字的文件中的数据读入到ECLIPSE数据文件中。

例如:INCLUDEGRID.GRDECL /把当前目录中名为GRID.GRDECL的文件读入到ECLIPSE数据文件中。

INCLUDE`../../welldata/97match/sect2.sched` /会从次相对路径中读取数据文件,绝对路径也是允许的。

同时,文件GRID.GRDECL和sect2.sched本身也可能包含INCLUDE关键字。

数据在应用模块间的传递是通过从一个模块输出文件再从另一个模块读入数据来实现的,当然也有例外,这种数据存储和传递的方式并个是GeoQuest软件的通用情况,因为大多数的GeoQuest软件都是从底层数据库中提取数据的。

注意,并不是所有QeoQuest的应用软件都显示在图14中了。

2.2 ECLIPSE输出文件ECLIPSE的输入文件有后缀:.DATA(UNIX)或.DAT(PC)●屏幕输出或快捷窗口输出;●Print打印文件;●Debug调试文件;●Summary文件;●Run summary文件;●Summary详述文件;●Grid文件;●Init文件;●Restart重启文件或文件组;●Flux,RFT和(或)Save文件。

Eclipse教程(china)之二

Eclipse教程(china)之二

3.喜好设定(Preferences)「Preferences」对话框是用来设定使用者喜好设定的对话框。

可以从「Window」→「Preferences」找到这个对话框。

由外挂程序组成的喜好设定页面也可以在这个对话框中找到。

喜好设定大部分的功能都是由其个别页面所定义,但对话框提供了两个一般功能:⏹Import:汇出会将对预设喜好设定的任何变更写入到使用者指定的档案中。

⏹Export:汇入会套用使用者指定的档案中的喜好设定。

喜好设定对话框的外观如下:图3.13.1工作台(Workbench)工作台一词指的是桌面开发环境。

每一个工作台窗口都含有一个或多个视景。

视景则包含视图和编辑器,以及控制在某些菜单和工具列上出现的项目。

在任何给定的时间里,可有多个工作台窗口存在于桌面上。

可以在工作台页面中变更下列喜好设定。

工作台喜好设定页面看起来如下:图3.23.1.1外观(Appearance)可以在「外观」页面中变更下列喜好设定。

「外观」喜好设定页面看起来如下:图3.33.1.2功能(Capabilities)「功能」喜好设定页面可以启用或停用各种产品组件,如 Java 开发和外挂程序开发。

附注:部分功能选项会相依于其它功能,停用某必要功能,却仍启用相依的功能,结果只会重新启用它们。

当取消选取 Java 开发和核心团队支持时,就是如此。

「功能」喜好设定页面看起来如下:图3.4当试图启用某个动作,但它的功能先前已停用或尚待喜好设定页面予以启用时,会出现下列Confirm Enablement提示,供确认确实要启用必要的功能。

请按一下Details来显示功能的说明。

图3.53.1.3颜色和字型(Colors and Fonts)可以利用「颜色和字型」喜好设定页面来设定Eclipse组件所用的许多字型和颜色。

树状结构用来导览各种颜色和字型,以及显示各种颜色和字型的预览。

任何字型的现行样式(不是大小)预览都会出现在它的标签中。

Eclipse

Eclipse

Eclipse零起步系列讲座Eclipse项目是IBM在2001年捐献的一个开发平台,当时此项目评估价值为40millionUSD. 此东东如此值钱,可见自是有过人之处. 接下来直接转入正题, 今天这篇侧重于eclipse的内部结构剖析,对于想开发插件的同志们,这些都是基础知识,可以好好看看. 由于我写这个东西,也是随性发挥,想到什么就写什么. 而关于eclipse的如何使用,如何用eclipse来开发一个java项目或其他项目之类的文章, 我想我会在以后的文章中写到. 但我想对于要在开发eclipse上开发web项目,c项目或其他的话,你也要会自己能安装相应的插件,才能开发,所以,这些基础知识的对于这些人来说还是很有必要的.(正文)上一回我们且说到eclipse的下载,安装,启动. 其中讲到eclipse目录结构时,你会发现有两个目录,一个叫plugins,一个叫features,而且你会发觉就这两个目录就占了整个eclipse项目的9x%的空间,如果少了这两个目录,呵呵,eclipse根本就是空架子. 那这里面到底存放了些什么东西呢, 让我们来研究一下.[什么是plug-in]我们来做一个比喻, 你买了一套新房子,买过来是毛坯房,然后你稍微装修一下,铺了地板,上了墙纸, 当然现在大家都要用家用电器, 没电咋行, 所以我们就要布好电线,装好电源插座. 这个时候,你可以把这个房子想像成eclipse这个平台. 之后, 我们或许就要添置家用电器了,比如电视, 音响等等, 等我们买好回家, 然后把电源往插座上一插, 那我们就抱着孩子, 搂着老婆, 看电视, 听音乐, 舒舒服服的过上幸福美满的小生活了~~~同样的, eclipse的plug-in 也是同样的工作原理, plug-in 只要放到/plugins目录下, eclipse启动后就会自动给所有在这个目录下的plug-ins, 通上电, 那这些plug-ins就会自动的运行起来, 美妙的eclipse界面也随之呈现在你眼前.那接下来,让我们看看eclipse这个由插件组成的平台,到底是个什么样的架构[Eclipse 平台架构]---------------------------------------------| Eclipse Platform | -------- | | ---\ | || ----------------------- ------------ |==| _ |______| JDT || |Workbench | | | |==| | ||| | | | | | ---/ -------- | | | | | || | ---------------| | Help | || | | jface | | | || |----------- | | | || | SWT | | | | || | | | ------------ || ----------------------- || ------------ | -------- | ------------------ | | | ---\ | || |Workspace | | | |==| _ |______| PDE || | | | Team | |==| | ||| ------------------ | | | ---/ --------| | | || ------------ |---------------------------------------------Eclipse Platform 就是一个房子, workbench,jface, swt, workspace, help, team,jdt, pde都是基于这个平台的插件.下面我介绍一下这些基础插件的基本功能:*: workbench用来控制工作台, 负责控制工作台上包括菜单,视图,透视图等等的控制和操作*: SWT是一个类似AWT,SWING的java组件,是一个轻量级的组件,而且和awt,swing不同的是,它底层实现不是基于jre,而是根据不同操作系统,有相应的动态链接库实现,所以作出来的效果很专业, SWT主要用于workbench的ui绘制*: jface是基于SWT的一个插件, 对SWT进行了封装, 封装实现了对话框, 视图等东东*: workspace是用来控制工作区的,(有别于工作台), 包括对工作区内的项目的控制,删除,添加,编译项目资源等等都由它来控制*: help是一个eclipse帮助系统, eclipse的菜单->Help-> Help Content,就可以打开这个帮助系统, 这个系统不是封闭的, 可以进行扩展(以后会介绍做eclipse帮助的插件)*: team是一个cvs系统,可以和CVS server协调使用,进行版本控制*: jdt 是Java Development Tools, 开发java的插件*: pde 是plug-in development environment, 开发插件的平台[plug-in 的基本结构]每一个plug-in都用一个目录包起来, 而且起目录名也是有讲究的,比如plug-in的名字叫edu.sjtu.bbs.eclipse,版本是1.0.0, 那这个目录名就是edu.sjtu.bbs.eclipse_1.0.0.而且随便打开一个plugin目录,可以发现总有一个文件叫一个叫plugin.xml,这个文件对于plugin来说十分重要, 它相当于定义了plugin的运行参数,没有这个,plugin无法启动,就像你家的电冰箱如果不知道是用110V还是220V的,你也不敢乱往插座上插,所以总要有个说明,这个说明就是plugin.xml. 至于这个文件有些什么具体结构,我想在以后介绍编写插件的时候,我会详细介绍.[什么是feature]feature是功能部件,它里面没有实际的运行的库,它只是eclipse用来管理plugins的一种途径. 比如你家装了电灯,总要有开关控制把,比如大堂的灯有一个开关控制, 卧室的灯也有一个开关控制, 它们分别用来控制灯的亮与灭.同样,功能部件就是用来控制插件的启动与否. eclipse的update透视图可以设定各个功能部件的启用或禁用状态, 所以你可以通过禁用功能部件,来禁止插件的启动. 这样有一个好处,比如你装了很多插件在eclipse上,但是装的越多,加载就越多,启动也会变慢, 你不信的话,可以玩玩wsad, 就知道我说的话不是假的了.所以,我们可以把功能部件看作是插件或插件集合的开关, 用来控制插件的状态. 如果plugins目录有插件没有被任何一个功能部件包络的话, 我称之为"野插件", 就是eclipse启动,它也一定会启动, 就相当于没有开关, 电源一直连通一样.当然,功能部件还有很多其他方面的用处,以后会有详细介绍. Eclipse零起步系列讲座(三)===========================================(前言)根据上一讲,你或许大概已经了解了Eclipse的组成,以及大致的运行机理. 这篇文章, 将开始带您使用eclipse.(正文)[Eclipse的工作台使用指南]这部分要写的话,其实要写很多,而且最好方式则是图文并茂,最好再有演示. 我这里只是给一些总体的介绍,并给予一些使用上的指导. 个人感觉,如果你从来没碰过eclipse, 启动之后,最好先看一下help, 这样会比较好.具体的操作步骤是这样的, 启动eclipse后, 选菜单里的help-> help contents, 此时会弹出一个新的窗口,就是eclipse的帮助窗口, 这个窗口的左边是一个导航条,选择Workbench User Guide, 里面分为Getting Started, Concepts, Tasks 和Reference. 可以先看一下Getting Started里面的Basic Tutorial. 这份tutorial可以在最短的时间内,让你熟悉eclipse的工作台.其实,eclipse平台ui方面有这几个组件: 菜单, 工具栏, 视图, 透视图, 编辑器菜单和工具栏不用说了, 地球人都知道的, 视图就是view, 比如Navigator, Outline,Tasks 等等都是视图, 每一个视图都有自己相应的功能,你可以参看workbench user guide来了解这些视图. 编辑器,就是editor, 比如有开发java的编辑器, 编写文本的编辑器,等等, 最后还有一个叫透视图, 英文是perspective,这个东东其实是不同的view,menu,toolbar,editor的排列组合. 比如你开发java, 你经常会用到package explorer, tasks, outline等view和编写java的editor,以及适合开发java的菜单(Source和Refactor), 那它就会布局一个适合开发java的透视图, 以此类推.下面我介绍一下常用菜单项:+ File- New: 新建文件,项目,或者其他都是从这里进入- Import: 这个也是很有用的,比如别人开发的eclipse项目,你copy到你机器上,可以通过import把这个项目导入工作区- Export: 这个是导出功能, 比如你开发了一个项目,最后想导出一个运行库,jar包之类的都可以用这个,这样你就不用自己手动的去把那些class文件打包了+ Window- New Window: 你如果觉得在一个window下开发东西太挤的话,可以再开一个,等于冒出两个workbench,其实操作的resource都是一样的.- Open Perspective: eclipse有很多透视图如resource, java, javabrowsing, cvs, debug等等,你可以根据当前开发的需要,选择你要的透视图进行开发- Open View: 透视图毕竟有限,不可能把所有的view都帮你开好, 所以你如果发觉你要用某一个view,但是它没有开,就用这个选项- Customize Perspective: 毕竟每个人都有自己的习惯, 你觉得这个透视图用的不爽, 可以自己定制的- Reset Perspective: 给你定制的一塌糊涂, 唉, 没办法, 还原成老样子把,就用这个- Preference: 这个是非常重要的选项, 偶是没事就进去改的, 它保存了很多配置方面的东西, 比如字体, 快捷键设置, 很多很多方面都要用到这个的, 这个东西的详细介绍, 会稍后介绍.+ Help- Welcome: eclipse很多插件都做了welcome page,这个page 对很多初学者来说,很有用的,否则很多情况下,新的东西是无从下手的.- Help Content: 前面讲过了,用来启动帮助系统- Update: 这个以后会具体介绍- About Platform: 你可以从这里了解你装了哪些features和plugins[利用eclipse 开发简单的java 程序]好了,我们一起step by step来学一下把, 很easy的1. 菜单new -> project, 然后在new project 对话框里选java ->java project, 按next 按钮2. 输入project 的名字, 按next 按钮, 当然如果你不想把项目的根目录建在默认的地方,也可以取消掉use default ,然后自己设定目录3. 之后就finish 把, 都用默认配置4. 如果你没有在java透视图下面,它会提示你是否跳到java透视图,选择是5. ok 一个项目就建好了6. 之后,你就可以new class 开始写java程序了7. 比如你的new一个class,如下public class A{public static void main(String args[]){System.out.println("Hello World");}}8. 编辑好保存, 然后跳到菜单-> run -> run as -> javaapplication9. 你可以看到console view中就冒出Hello World了很easy把, 当然, 你会在开发中会遇到很多问题, 这是必然的, 那这些问题只能在实践中积累才能得到解决, 所以不用急,多用用,多玩玩,遇到问题经常到版上来问问.还有如果你发现问题的话, 找问题解决方案的第一个地方,应该是eclipse的帮助系统里的Java Development User Guide, 几乎绝大多数问题,上面都有答案. 所以有空的话还是要多读一读.不过,很多人都说用了eclipse之后,就抛弃了其他的java ide, 说明它必有爽的地方, 那我来介绍一下用eclipse 开发java,有哪些爽的地方[Java Development Tool (JDT) 特色]其实特色有很多,我也只是凭我的开发经验, 介绍一下jdt的突出功能.1. 自动修饰代码功能这个功能很大程度上, 把平时一些开发代码中的琐碎的工作给自动化了打开菜单+ Source- Comment: 这个比较有用,比如你写java代码,发觉你有一段代码要注释掉,那就选中那一块代码,然后选这项,他就会自动把这段代码注释掉. 快捷健是"Ctrl+/"- Uncomment: 反注释, 操作方法和Comment差不多, 快捷键是"Ctrl+\"- Format: 这个操作项是我一直推荐的, 非常方便, 比如你写了段格式很烂的代码, 乱七八糟的, 那你就选择这项,你会发觉, 哇~~, 我的代码怎么一下子变漂亮了, 不信你可以试试, 快捷键是"Ctrl+Shift+F", 所以我现在都养成习惯了,写一会儿代码,就c+s+f一下, 呵呵,很方便的.- Sort Member: 这个不是很常用,但是如果你觉得代码太长,老是找不到函数,,也可以试试. 他会帮你把你写的函数,变量重新排序- Organize Import: 这个功能也是一个不用不爽的功能, 比如你编一个项目,发现有很多import都没有用到,或者说你引用了一个类,但是你没有import,结果编译不通过, 那都没关系, 一用这个,所有的问题迎刃而解. 至少我用这个之后, 就从来没有写过import这类语句了. 快捷键是"Ctrl+Shift+O(是字母O,不是数字0)", 我经常把这个和c+s+f一起用, 呵呵,人也变懒了不少- Override/Implement Method: 这个比如你写一个类, 实现了某一个接口,但是你还没有实现那个接口的函数, 那就用这个,它会自动搜索父类和接口的方法,你可以选择要覆盖还是实现哪些函数- Generate Getter and Setter: 如果你加了一个类变量, 要为它写getter和setter,不用那么麻烦, 用这个把,都是自动的- Generate Delegating Method: 如果某一个field要生成代理函数,用这个把,选一下就ok- Add Javadoc Comment: 点中某一个你想要加javadoc的函数或类或变量,然后选这项,它会自动帮你加好javadoc的头,包括你用的那些param或return- surround with try/catch block: 比如你有一段代码要处理某些exception,可你又忘了用try/catch来写,别急,选中那段代码,然后选这项,你会发觉它会自动针测你这段代码里要抛出哪些exception,并且自动生成好所有代码- externalize string: 这个是在做国际化的时候用的,简单的说,就是把string包在resource bundle里, 这也是i18n的一个解决方案,我想我以后会详细介绍这方面的东西.2. 重构功能:重构这两年很热, 那让我们看看jdt里面的重构到底有多强. 呵呵, 这也是eclipse最吸引我的一个地方.打开菜单+ Refactor- Rename: 如果你写了一个类,你发觉这个类某个类变量的名字起的不太好听, 你觉得不爽, 于是你就想改名字, 那怎么改呢, 就把那个变量名改了? 呵呵,没那么简单,因为你这个变量如果已经在某些函数里引用到,那编译要出错了, 而且你根本就不知道你哪里引用了, 写了那么多代码,脑子都晕了, 那不是死菜了吗? 别紧张, 用这个rename可以帮你解决一切问题, 它不仅可以帮你把变量的名字改了,而且它还会自动搜寻所有这个变量被引用到的地方,然后把那些地方也一起改了, 爽不爽啊, 给你省了很大的劳动力不是.- Move: 同样, 要移动一个实现了的静态函数或变量到别的类的话, 用这个移动, 保证不出错- Modify Method Signature: 你设计函数不可能一下子就定型的,比如你一开始这个函数有一个参数,后来发觉不对,要用两个, 那你就要用这个来改, 这样它还会搜寻所有已经引用这个函数的地方, 并且把这些应用的地方也改掉,否则编译也要出错的- Extract Interface: 它可以帮你把一个类抽象成一个接口, 规范你的代码- Extract Method: 如果你写了一段很长的函数, 但是这个函数有些代码有重复利用性, 你就可以把给分割出来, 选中那段代码,然后选这项,系统会问你抽出来的函数的定义, 然后它就会生成这段函数,把实现从原来函数那里抽出来,并在原来函数那里写一个对这个新函数的引用,以保证程序不变性.- Extract Local Variable: 如果你发觉你函数里有些值都是通过一样的表达式得到的,你就可以通过这项把这段表达式变成一个变量,并且把这个变量替换到引用到表达式的地方- Extract Constant: 抽取常量, 比如一个string= "eclipse", 你觉得很多地方要用到, 那就抽出来变成一个常量ECLIPSE, 就这么简单- convert local variable to field : 这个看名字就知道, 不多说了- encapsulate field: 这个和生成getter,setter有点类似, 但是不同的在于,如果你有一个public的常量var,并且已经在别处引用到了, 那你用生成getter,setter肯定有问题, 因为引用的地方没改过来, 用这个的话,不仅会生成getter,setter,而且还会改掉所有引用的地方, 比如把var = ...;的地方改成setvar(...), 把 ... = var地方改成 ... = getvar(); , 呵呵,够强把...3. 敏感帮助:这个jb之类的ide也有, 启动方式为"alt+/" , 你如果觉得这个不爽,可以选preference->workbench->keys->edit->content assist 修改键值而且,这个敏感帮助还有一个强的地方在于:你如果想写一个for语句, 呵呵, 就打for, 然后alt+/, 选一个for 的生成方式, 一个完成的for语句就出来了, 呵呵,eclipse多用用, 人都会变懒的这个功能其实是jdt的模板功能,你也可以加自己用的模板, 具体在preference->java -> editor ->templates 加4. Quick Fix功能:比如我们来编一个类A, 如下:public class A {public static void main(String args[]){System.out.prin("Hello World");}}编译是不通过的,print方法打错了, 打成prin了所有你会发觉那一行的左边有个红差差,说明这行有错误,你把鼠标移到那个红差差上,它会有一个提示出来,告诉你出了什么错了这还不止,你还发觉在红差差左边有个电灯泡, 你点那个电灯泡,它会弹出框问你是change to print 还是change to println, 选择change to print, 它就自动帮你改好了,呵呵,连改错都这么方便,太爽了. 当然,如果没有电灯泡的话,你就只能手动改了,毕竟这东西没这么智能,可以帮你自动解决所有的问题ftp:///mirror/sites//这个目录是也是一个Eclipse网站的镜像,但是为什么没有公布在网站上,这我就不清楚了你可以从上述网站上找到Eclipse的下载包上了网站,你会发现有许多Eclipse版本,有1.x, 2.x, 3.x,那到底该用什么版本呢?[Eclipse 版本(以及WSAD版本)]IBM有个深受大家欢迎的产品,叫做Webshpere Studio Application Developer (WSAD),当时WSAD4.0发布时用的Eclipse是1.0版本的,后来IBM把Eclipse捐献出来后,就陆续开发了2.x版本,而且也应用到了后来的WSAD产品,现在WSAD5.0用的是Eclipse 2.0, WSAD5.1 用的是Eclipse 2.1.1.现在 Release的最近Release的版本是Eclipse 2.1.3, 相信大家平时要用Eclipse做开发的话,用2.1.3比较合适.同时,如果你如果想尝尝鲜的话,就试试Eclipse 3.0版本,现在3.0还没有Release,Eclipse 3.0的开发过程是分成10个Milestone来分的,现在已经开发到第8个Milestone,就是Eclipse 3.0M8. 大家可以试试. 预计3.0的正式版本要到今年6月发布, 相信到时候发布不久后, WSAD6.0就会发布了. 呵呵,期待啊@_@另外对于Eclipse的开发,还有一种版本标记方式,是分别已N, I, R 打头的, 比如N20040101之类的, 大家会觉得纳闷,这到底代表什么意思呢. 其实, N 是NightlyBuild , I 是Integration Build, R 是Release Build, 特别是对于大型软件, 有时编译一个项目要花很多时间, 所以很多时候编译的工作就放在了夜里, 所以就有了Nightly Build 这一说, 而Nightly版本在经过集成测试,就生成了Integration 版本.Integration版本再经过严格的测试,最后就发布Release版本. 所以稳定性程度: R >I > N.相信大家了解了这个版本后,就可以当自己想要的版本了.等当好了之后,我们就可以安装了[Eclipse 安装] (以R2.1.3 版本为例)当下来的东东是一个压缩包, 然后你要做的就是把这个压缩包解压都某一个目录,为了方便介绍,我们叫这个目录为.让我们展开一下这个目录看看:|--- /plugins 存放插件的目录(稍后介绍)--- /features 存放功能部件的目录(稍后介绍)--- /links 其他plugins和features的连接地址的存放目录(稍后介绍)--- /readme--- eclipse.exe 启动Eclipse程序--- ...[启动Eclipse]但是如果你机器还没有装jre的话,那eclipse还是不能启动的如果没有的话,去当一个jre,安装好jre之后才能启动如果你同时有几个jre, 那eclipse会自动搜索注册表,并找到版本高的jre使用.提示: 如果想指定eclipse使用你想它使用的jre的话,可以设置eclipse.exe的启动参数:eclipse.exe -vm然后你就可以启动eclipse了, 慢慢等, 还是挺慢的, 你可以顺便喝口茶, 欣赏欣赏eclipse的splash画面, 呵呵启动好后, eclipse的开发平台就展现你的眼前了.在这个启动的时候, eclipse自动创建了一个workspace, 你可以在的目录下看到一个workspace的目录,这个目录下还有一个.metadata 的目录,这个目录存着你这个启动的工作区的所有配置.当然,如果你不想把workspace这个工作区目录放到别的目录下,也没有问题,设置一下eclipse的启动参数:eclipse.exe -data以后,你如果同时要开发好几个项目, 当时有不想放一个工作区里, 学会启动的不同的工作区是必要的(前言)大家根据上一讲,加之好好练习,相信您会越来越喜欢用eclipse来开发java程序的. 那今天这篇, 应ForEclipse版友的要求, 就写一篇关于eclipse下使用cvs的文章.而且昨天那篇水贴,大家都谈了谈使用感受,我也觉的受益非潜. 呵呵, 就来总结一下把.(正文)[CVS 简介]CVS 是Concurrent Versions System的缩写,基于Unix体系中成熟的SCCS(SourceCode Control System)和RCS(Revision Control System)开发,是一个开放源码的项目,目前已是版本控制系统的主流软件.一个很常见的使用CVS的场合,就是开放源码项目.由于开放源码项目的开发者的分布性,对于版本管理的要求更加严格,而目前大部分的开放源码项目几乎都是采用CVS来管理源代码,CVS的标准性和强大可见一斑.CVS采用客户机/服务器体系,代码以及各种版本存储在中心服务器内,每一个个体开发者开发时都首先从服务器上获得一份自己的拷贝,在此基础上进行开发,以避免直接影响服务器上的数据.开发者可以随时把自己的新代码提交给服务器,并通过更新获得代码的最新状态,保持与其他开发者的一致.CVS对于网络是透明的,开发者可以使用客户端软件(几乎所有的平台上都有相应的客户端软件)在任何时候,任何地点通过网络来获取最新的代码.对于Eclipse的开发者而言,Eclipse本身内置了CVS支持,不需要使用其他客户端软件,只要建立一个CVS服务器,就可以使用这一强大的版本控制系统了. [CVS 安装和配置]这里只介绍windows下的cvs实现CVSNT,CVSNT的安装有一定困难,我简单介绍一下.当然首先要说一下哪里可以下载到cvsnt, 就在/ ,现在的最新版本CVSNT 2.0.41 (Wednesday 21st April 2004)CVSNT的windows版本在nt, 2000 , xp, 2003 都可以安装的.当下来后第一件事情就是setup, 安装好后,从开始菜单的程序组中启动CVSNT配置程序service control panel.这时应该看到服务器还没有运行(CVSNT作为系统服务运行),如果已经运行了,先把它停下来.选择第二个选项卡Repositories,这里我们假设数据库都存储在E:\work\cvsrepo下,点击Add, 然后点击省略号按钮来选择E:\work\cvsrepo作为数据库路径.它会提示你这个数据库没有初始化,问你是否要初始化,选是. 然后, 我们选到service status 选项卡, 启动server.由于cvs的帐户默认是和windows domain用户联系在一起的, 所以可以通过在windows里的控制面板添加用户,比如我们添加一个user, username= userid,password= passwd. 我们会在后面使用到.[Eclipse下cvs 的使用]在eclipse使用cvs前,首先要连上cvs服务器, 打开cvs repository透视图, 这个透视图里有个cvs repository视图, 在这个视图中,右键点击选菜单New->Repository location. 此时会谈出一个add cvs repository对话框. 然后填写此对话框的各项信息:host: localhost (如果你cvs server装在自己机器上) repository path: e:/work/cvsrepouser: useridpasswd: passwdconnection type: pserver一切操作正常的话, eclipse就能连上cvs了. 接下来我们要开始介绍如何具体使用了.1. share project & disconnect首先一个project想加入cvs 控制的话, 就要share project, 用以把所有project下的信息加入cvs下控制. 操作方式就是: 选中你要share的project,然后右键点击弹出菜单, 选team-> share project但是这里要注意的是, 不是所有的文件都应该加入cvs的,比如编辑器生成的临时文件,编译生成的.class文件,或者某些编译过程生成的二进制文件等等.因此,Eclipse并不自动把所有文件存储到数据库中,需要开发者手工指定把那些文件存储到数据库中,也就是加入版本控制add to version control.对于单个文件的指定,可以随时在Resource Perspective或Java Perspective中的文件上使用右键,选择Team,Add to Version Control.如果需要存储整个项目或者同时指定多个文件,则要使用同步(Synchronize)视图.如果一个已经在cvs控制下的project,你想与cvs断开, 也很简单,选中那个project,然后右键点击弹出菜单,然后选team->disconnect2. check out如果想从cvs上, 下到本地,参加团队开发, 就先在cvs repository 视图里浏览cvs里的内容, 找到你要找的project, 然后右键点击, 选择check out as project,这样eclipse就会自动从cvs上check out下来这个project, 可以开始团队开发了3. 推荐使用的cvs步骤理想的开发工作流是这样的:Workbench#1 ----------------------------------------------------->/\ /\/ \ / \update/ \commit update/ \commit/ \ / \Branch ----------------------------------------------------->\ /\ /update \ / commit\/Workbench#2 ----------------------------------------------------->*: 从最新状态开始.开始工作前,要保证所有资源与最新的分枝状态一致.对于从头开始的新项目,首先要连接服务器,设定存储那些资源文件.对于在服务器数据库中已经有记录的项目,首先要通过更新来保证资源状态最新.如果本地的工作没有需要特别保存的,可以直接把数据库中的最新版本Check Out As Project,或者ReplaceWith,Latest from Repository.*: 进行本地工作,保存修改.*: 同步.当做好提交工作的准备后,要和服务器数据库同步.**: 首先应该更新(Update),检查所有的Incoming改变,输入到本地,看是否会影响自己的工作,是否会造成冲突,破坏完整性等等.**: 检查完更新后,可以确认自己的工作和最新的Branch内容是一致的,就可以提交(Commit)自己的修改了,标上适当的注释.以上推荐步骤一定要严格执行,否则后果自负!!4. 其他使用提示commit: 当完成对文件或者项目的修改,需要确认修改,把最新的状态存储到数据库中去,就需要执行提交(commit)操作.类似的,我们可以在Resource Perspective或Java Perspective中的文件上使用右键,选择Team,Commit;或者在Synchronize视图中同时提交多个文件乃至整个项目.注意,每次提交时都会提示输入注释,这是很重要的,作为每一个状态的说明和提示.merge: 当我们需要把文件或者项目的不同版本进行比较或者替换时,可以在ResourcePerspective或Java Perspective中的文件上使用右键,选择Team,CompareWith或者Team,Replace With来完成.进行比较时将打开一个比较编辑器,很好地表示不同版本之间的差异,和Local History类似.explorer: 如果要了解CVS数据库的内容情况,可以使用CVS Repository ExploringPerspective.我们可以点击Eclipse左上角的开启视图按钮,增加这一视图到左边的视图浏览栏里.前面已经提到,HEAD代表CVS数据库里的主流内容.展开Versions,可以看到以往的版本.另外,在右下角有数据库的历史记录标明每次修改的相关信息.[其他相关资源]*: Eclipse Help中的Workbench User Guide中的GettingStarted ->Team Tutorial 和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第37章 在Eclipse中使用Hibernate本章将把Hibernate应用到myweb项目中,对数据库层的代码进行改造,同时还会介绍一些Hibernate工具的使用。

37.1 概述37.1.1 持久化框架产生的背景和现状什么叫持久化?数据在内存中,关机后就会丢失。

而如果把数据保存到后台的数据库中,就能达到“持久”保存数据的目的。

而持久化框架的目的就是为了帮助用户更好地使用数据库。

在Java数据库项目中,由于数据库是关系型而非面向对象的。

很多时候,用面向对象方法完成了前期的设计和分析,到了数据库层编程时就会变得很别扭,其中最痛苦的就是写面向过程的SQL语句。

J2EE开发主要由JSP、Servlet、JavaBean和EJB 4部分组成。

其中EJB是J2EE中一个比较重要的部分,它提供了企业级开发所需的分布式支持。

但现实中的大部分项目都是单服务器的轻量级项目,一般都不会涉及分布式的开发环境,这时用EJB就像大炮打蚊子,蚊子没打到,房子却被打破个洞。

EJB的笨重和复杂一直让开发者很不满,其中EJB中Entity Bean受到的批评最多,现实项目中鲜有使用Entity Bean的成功范例。

开发者急切地需要一种符合Java编程习惯的、适合轻量级开发的、易于使用的数据库持久化解决方案。

在这个背景下就产生了轻量级的数据库持久化技术,其中最主要的就是Hibernate、JDO。

Hibernate是一个民间开源项目,有点像一个草莽英雄,但Hibernate从实用出发的设计思路,使得它脱颖而出成为最流行的持久化技术。

Hibernate的作者Gavin King也一举成名,现已成为EJB 3.0专家组的成员,并且在EJB 3.0的Entity Bean部分,将采用和Hibernate 类似的设计方案。

因此,Hibernate是开发者学习和使用持久化技术的一个比较好的选择,即使以后EJB 3.0一统天下,所学的Hibernate知识也不会浪费。

JDO 2.0是经JCP(Java规范管理委员会,由SUN、IBM、Oracle等共同参与)承认的一个正式规范,所以也受到了开发者很大的关注。

估计未来3年内,持久化技术将以EJB 3.0、Hibernate和JDO 2.0为主,成三足鼎立之势。

第37章 在Eclipse 中使用Hibernate·507·37.1.2 Hibernate 简介Hibernate 把开发者从数据库编程中隔离开来,它在数据库外裹了一层面向对象的外衣,Java 程序中所有进出数据库的操作都交给Hibernate 来处理,它会自动生成SQL 语句操作数据库。

有了Hibernate 后,程序员不再要写繁琐的SQL 语句,也不再要把实体对象一个个字段拆开又组装。

说通俗一点,Hibernate 就像一位卖苦力的民工,脏活累活它全包了。

图37.1是Hibernate 的示意图。

Hibernate 提供了一个和SQL 类似的HQL 语句,但结合Hibernate 后功能更强大,而且Hibernate 能够根据实体对象的状态来自动对数据库进行更新和插入,很智能化。

图37.1 Hibernate 的示意图HQL 语句操作数据库其实也是要转化成标准的SQL 语句的,Hibernate 根据用户所编写的XML 映射文件来实现HQL 到SQL 的自动转化。

XML 映射文件是Hibernate 中最关键的配置文件,它定义了实体类和数据表之间的关系,架起了两者间的桥梁,掌握XML 映射文件的编写是掌握Hibernate 的关键。

Struts 提供视图和控制层的支持,Hibernate 提供数据层的支持,两者是一个很不错的开发组合。

Struts 只能用于Web 开发,而Hibernate 还可用于Application (包括Eclipse 插件)的开发。

37.1.3 本章说明网上有Hibernate 的中文帮助文档(以后简称为Hibernate 文档),由国内的Hibernate 粉丝们翻译。

此Hibernate 文档内容权威而全面,加上翻译得也很不错,所以它是学习Hibernate 的必看文档。

读者可以用Google 搜索关键字“hibernate 3.2 中文”找到这份文档。

不足之处是:由于内容较多,主线不够突出,而且缺乏一个较为系统的实例。

Hibernate 的使用很灵活,但有一些用法是常用的、主要的,有一些则是生僻的、很少用的。

Hibernate 应该掌握的重点内容是:Session 概念、XML 映射文件的配置、HQL 的语法。

本章用一个实例做主线来贯穿这些Hibernate 的核心知识,读者可以顺着这条主线并结合Hibernate 文档来学习。

Eclipse 从入门到精通(第2版)·508· 本章的数据库表和数据模型来自于第4篇的实例代码。

37.2 Hibernate 的下载和安装37.2.1 下载具体步骤如下:(1)如图37.2所示,访问Hibernate 官方网站 ,单击左边菜单的Download 超链接,在下载页面中下载Hibernate Core 和Hibernate Tools 。

前者是Hibernate的核心软件包,后者是一个用于辅助Hibernate 开发的Eclipse 插件。

图37.2 Hibernate 的下载页(2)直正的下载页面会转到著名开源社区 ,如图37.3所示。

选择下载ZIP格式压缩包hibernate-3.2.2.ga.zip ,解压后的目标结构如图37.4所示。

图37.3 下载文件选择 图37.4 Hibernate 解压后的目标结构主要目录及文件解释:hibernate3.jar 文件是Hibernate 的核心jar 包。

lib 目录中有一些Hibernate 运行需要依赖的第三方jar 包,安装时也要用到。

src 目录中是Hibernate (hibernate3.jar )的源文件。

第37章在Eclipse中使用Hibernate ·509·etc目录中有一些可以参考的例子文件。

doc目录中包含Hibernate文档。

37.2.2 安装1.复制jar包将解压目录中的hibernate3.jar和lib目录下的jar包,全部复制到项目的Web-INF/lib目录,如果提示有同名文件(commons-logging-1.0.4.jar),覆不覆盖则都一样。

其他说明如下: 其实并不需要复制lib目录下的所有jar包,本文只是为了安装上的方便。

如果在正式发布程序时,希望只包括真正用到的包,则可以参考解压目录lib中的_README.txt,里面有详细描述。

或者参考Hibernate文档,里面也有部分描述。

注意不要将这些jar包复制到%TOMCAT_HOME%/common/lib目录下,那是Tomcat全局库所在目录,有可能引起包冲突。

检查一下lib目录中是否有重复包(不同版本),如有,则只保留一个最新版的包,否则很可能会引起类冲突。

因此要把antlr-2.7.2.jar删除,保留antlr-2.7.6.jar。

2.创建log4j.propertiesHibernate用log4j包来做日志输出,这就要求项目中创建一个log4j的配置文件log4j.properties,否则有些运行日志就无法看到(不会影响程序运行),另外Eclipse控制台视图会输出如下两条警告信息。

log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.TldConfig).log4j:WARN Please initialize the log4j system properly.如果读者熟悉log4j,可以自己创建log4j.properties,定义自己想要的日志配置。

如果不熟悉log4j,可以直接将解压目录etc下的log4j.properties,复制到项目的“Java Resourcess:src”下。

注意,由于J2EE透视图拒绝直接复制文件到“Java Resourcess:src”下,所以可以转到Java透视图再复制。

37.3 一个简单的Hibernate实例(V005)37.3.1 创建Hibernate配置文件:hibernate.cfg.xml在“Java Resourcess:src”下创建一个hibernate.cfg.xml文件如下。

<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><hibernate-configuration>Eclipse 从入门到精通(第2版)·510· <session-factory><!-- 数据库 --><property name="connection.datasource">java:comp/env/jdbc/mysql</property><property name="dialect">org.hibernate.dialect.MySQL5Dialect</property><property name="show_sql">true</property><!-- 打开Hibernate 的session 自动管理机制 --><property name="current_session_context_class">thread</property><!-- 把所有*.hbm.xml 文件注册在这里 --><mapping resource="cn/com/chengang/sms/model/model.hbm.xml"/></session-factory></hibernate-configuration>配置说明:connection.datasource 设定所用的连接池。

相关文档
最新文档