当前位置:文档之家› Java web开发教程部分 (2)

Java web开发教程部分 (2)

对于我这样一个爱书、爱开源及爱Spring的人来说,每一次读市面上关于Spring的图书,都会让我对Spring有新的认识及体验,因为每一个作者都会用他所认识的方式来告诉我们什么是Spring、怎么用Spring。

由所选择的点不同,角度的不540C,因此读多了就知道Spring真正是什么。

2007年,我跟ErikChang、船长、stef等曾经打算合作写一本能“深入Spring 2”的书籍,然而由于工作的原因,却没能坚持到最后,遗憾的同时,也让我深深体会到了写作的艰辛。

2008年春节刚过,ErikChang突然告诉我,他已写完了一本关于Spring 2的书籍。

给我发了《精通Spring 2.x Java Web开发》的几章,我一口气读完,感到非常欣慰与惊叹。

欣慰的是我读到了一本真正“Spring 2”的书,惊叹的是ErikChang在几个月的时间里奇迹般地写出这么多的东西。

不管您是Spring的新手还是老手,我相信你从这本书中一定能读到以前所不了解的Spring,在应用好Spring的同时,了解他的设计原理,了解他里面的设计精华及编码艺术,这将会为您增加不少的财富。

只是能简单地应用Spring,这没意义;反复不断地深入学习Spring的源码,并把收获及心得拿出来与大家分享,这有意义。

因此,ErikChang做了一件非常有意义的事。

用心能做好一件事,执着能让我们取得成功。

祝愿每一位读者朋友工作顺利,事业成功!EasyJF 创始人 技术总监 蔡世友,第1章 开始Spring之旅自从Spring问世以来就引起了J2EE业界的关注,J2EE开发原本就是一个很复杂的领域,很多初级程序员都不敢涉足,Spring改变了这个局面,Spring出现以后迅速使J2EE开发越来越简单,某种程度上促进了软件生产力的发展,Spring已经成为众多程序员都日益青睐的开发框架,本章将带领大家开始学习Spring,主要内容如下。

●Spring源码的获取●源码内容说明●第一个Spring实例1.1 获取并查看Spring在使用Spring之前首先要获取该框架的jar包,同时Spring是一个开源项目,有兴趣的读者可以查看Spring源码,了解Spring的设计思想及源码的编写,本节带领读者一步步来获取并查看Spring源码,使读者学会独立获取Spring并在Eclipse IDE中查看Spring源码,对Spring有个概念的认识。

1.1.1 获取Spring首先到官方网站下载Spring, Spring的官方网址是/,单击download栏目,进入下载页面,如图1-1所示。

图1-1 Spring官方下载界面然后单击需要下载的Spring版本,笔者推荐尽量选择最新的版本,如当前的SpringFramework 2.0.7(到本书撰写完毕Spring最新版本已经涉及到2.5),可进入www.source 中下载Spring的源代码,如图1-2所示。

图1-2 sourceForge下载主界面备注:SourceForge是全球最大的开放源代码软件开发平台和仓库。

它集成了很多开放源代码应用程序,为软件开发提供了整套生命周期服务。

是开放源代码软件的开发者进行开发管理的集中式场所,也是源代码仓库。

通过单击SourceForge中Spring项目相应的链接,即下载Spring 2.0的整个项目源码,如图1-3所示。

图1-3 sourceForge下载界面1.1.2 Spring项目文件简介下载完成后,得到一个类似Spring-framework-2..0.7.zip的压缩包,然后解压该压缩文件,即可见到Spring的项目文件,如图1-4所示。

图1-4 Spring项目文件列表1.根目录在根目录上,主要是Spring开源项目的ant脚本文件build.xml, maven脚本maven.xml等,可以在命令行输入ant tests来运行Spring的所有测试代码,另外,还可以使用ant build及ant alljars实现在本机上根据自己的jdk重新编译Spring,并生成相关的jar包等。

在根目录上,还有Spring的发布协议说明license.txt、项目说明readme.txt、变更日志changelog.txt和注意事项notice.txt等。

2.dist目录在Spring项目的文件中,dist是已经编译打包好的发布jar, dist 中的文件结构如图1-5所示。

图1-5 Spring项目中dist目录文件列表其中spring-src.zip是Spring源码的压缩包,spring.jar是经过编译后的打包文件,spring-mock.jar是spring提供用于单元测试中模仿对象的相关类,spring-aspects.jar是spring与aspectj集成的jar 包。

resources目录是Spring项目的相关资源文件,如配置文件描述符spring-beans.dtd等。

dist中的modules目录是spring各组成部分发布jar包,因为Spring的各组成部分是完全独立的,用户可以在只选择使用Spring中的一部分功能,而不是全部的时候,直接使用相关部分jar即可,比如,只用spring mvc选择spring-webmvc.jar,要用Spring中的jdbc封装可以直接选择spring-jdbc.jar, modules中的内容如图1-6所示。

图1-6 Spring项目的modules目录列表3.docs目录docs目录是Spring项目的文档目录,里面主要包括Spring项目使用说明文档及系统API等,在Spring 2.0的项目中,包括api文档,spring mvc应用简单示例、spring参考手册和spring标签库简介等几个部分,如图1-7所示。

图1-7 spring项目docs目录列表4.mock目录mock目录是Spring用于单元测试中模仿对象的mock实现源代码,也就是spring-mock.jar中的源码。

5.Aspectj目录Aspectj目录是Spring与Aspectj集成的源代码及应用测试代码。

6.Src目录Src目录是Spring项目的全部源代码。

7.Samples目录Samples目录是Spring项目的应用程序示例源代码,主要包括一个简单的网上商店jpetstore,一个宠物医院petclinic。

另外,还简单演示一些特殊功能的countries和imagedb等。

通过这些示例程序代码,可以快速地学习到Spring的使用方法。

8.Test目录Test目录是Spring项目的单元测试代码,Spring作为测试驱动开发的推崇者,有着非常详细的单元测试用例,通过单元测试代码,可以快速地掌握Spring各个类的方法。

9.tiger目录tiger是Spring项目中使用java tiger版中的新功能及特性的源代码,包括注解等。

10.Lib目录Lib目录中包括了Spring项目用到的所有jar文件,Spring的很多功能都是在一些现存的项目上搭建起来的,另外,Spring集成了很多优秀的开源项目。

因此,要使用这些特性,必须在项目中引入相关的jar。

在Spring的lib目录中,这些jar文件分门别类地存放于lib的子目录中,如图1-8所示。

图1-8 Spring项目lib目录列表1.1.3 查看Spring源码由于Spring的功能相当强大,其源代码的数据及源代码的层次结构等都相当复杂,因此需要借助专业的Java开发工具来查看Spring的项目源码。

Spring 2.0的源代码需要在Jdk 1.5以上的版本中才能全部正常编译。

下面演示在Eclipse中如何打开Spring的源代码。

(1)在Eclipse中新建一个工程,在“新建工程”对话框中,选择“create project from existing source”,然后通过“浏览文件夹”对话框选择Spring项目的解压目录,如图1-9所示。

图1-9 查看Spring源码步骤1(2)选择好Spring项目的目录后,单击【Next】按钮,Eclipse 会加载Spring项目文件,进入项目的setting配置对话框。

在该对话框中主要检查Source(源代码目录)及Libraries(相关jar包)两个部分,分别如图1-10和图1-11所示。

图1-10 查看Spring源码步骤2(Spring项目的源码路径)图1-11 查看Spring源码步骤3(Spring项目所需要的jar库文件)(3)单击【Finish】按钮,完成项目的建立,这里即可通过Eclipse的package explorer视图面板查看Spring项目的源代码,如图1-12所示。

图1-12 查看Spring源码步骤41.2 开始使用Spring可以直接利用Spring的相关jar包,开始使用Spring。

下面演示使用Eclipse开发一个简单的Spring示例的程序。

(1)使用Eclipse的new project向导,新建一个名为spring-hello的工程,如图1-13所示。

图1-13 建立一个Java工程(2)新建一个名为Hello的类,Package设置为spring.chapter1,如图1-14所示。

图1-14 新建一个类(3)把所需要使用的Spring项目的jar文件加入到当前工程的Libraries中,本例中只使用Spring中简单的IOC功能,只需要spring-beans.jar、spring-core.jar及commons-logging.jar 3个包即可。

用鼠标右键单击工程名称,查看工程属性,选择工程属性中的Java Builder Path,然后选择Libraries选项,通过单击【add external jar】按钮把外部的jar文件添加到工程项目中,如图1-15所示。

图1-15 添加相关jar到classpath中(4)输入Hello.java的完整源代码,其中Hello这个类有一个msg 属性,有一个setMsg方法用于设置msg属性的值。

另外,直接在Hello 的main方法中使用Spring的Bean工厂来从配置文件中加载一个名为helloBean,类型为package spring.chapter1.Hello的Bean。

然后调用这个Bean的sayHello方法。

全部源代码如下所示:(5)在与Hello.java同级的目录下,建一个名为bean.xml的Spring配置文件,在这个Bean配置文件中定义helloBean,并通过依赖注入设置helloBean的msg属性值,其内容如下:完成后的工程项目如图1-16所示。

相关主题