spring经典中文教程资料下载.pdf

上传人:b****1 文档编号:16120046 上传时间:2022-11-20 格式:PDF 页数:88 大小:666.02KB
下载 相关 举报
spring经典中文教程资料下载.pdf_第1页
第1页 / 共88页
spring经典中文教程资料下载.pdf_第2页
第2页 / 共88页
spring经典中文教程资料下载.pdf_第3页
第3页 / 共88页
spring经典中文教程资料下载.pdf_第4页
第4页 / 共88页
spring经典中文教程资料下载.pdf_第5页
第5页 / 共88页
点击查看更多>>
下载资源
资源描述

spring经典中文教程资料下载.pdf

《spring经典中文教程资料下载.pdf》由会员分享,可在线阅读,更多相关《spring经典中文教程资料下载.pdf(88页珍藏版)》请在冰豆网上搜索。

spring经典中文教程资料下载.pdf

如果本文对您有些许帮助,表达谢意的最好方式,是将您发现的问题和文档改进意见及时反馈给作者。

当然,倘若有时间和能力,能为技术群体无偿贡献自己的所学为最好的回馈。

另外,笔者近来试图就日本、印度的软件开发模式进行一些调研。

如果诸位可以赠阅日本、印度软件研发过程中的需求、设计文档以供研究,感激不尽!

见权权权权权SpringFrameWorkDevelopersGuideVersion0.6September2,2004Somanyopensourceprojects.WhynotOpenyourDocuments?

Spring开发指南开发指南前言前言2003年年初,笔者在国外工作。

其时,一位与笔者私交甚好的印度同事Paradeep从公司离职去斯坦福深造,临走送给笔者一本他最钟爱的书籍作为纪念。

工作间隙,时常见到他摩娑此书,摇头不止(印度人习惯和中国人相反,摇头代表肯定、赞同,相当于与中国人点头。

笔者刚开始与印度同僚共事之时,每每组织项目会议,一屋子人频频摇头,让笔者倍感压力J)。

下班后,带着好友离职的失落,笔者夹着这本书走在回家的路上,恰巧路过东海岸,天色依然明朗,随意坐上了海边一家酒吧的露天吧台,要了杯啤酒,随手翻弄着书的扉页,不经意看见书中遍布的钢笔勾画的线条。

“呵呵,Paradeep这家伙,还真把这本书当回事啊”,一边笑着,一边摊开了此书,想看看到底是怎样的书让这样一个聪明老练的同事如此欣赏。

从此开始,这本书伴随笔者度过了整整一个月的业余时间.这本书,也就是出自RodJohnson的:

ExpertOne-on-OneJ2EEDesignandDevelopment此书已经由电子工业出版社出版,译版名为J2EE设计开发编程指南。

半年后,一个新的JavaFramework发布,同样出自RodJohnson的手笔,这自然引起了笔者极大的兴趣,这就是SpringFramework。

SpringFramework实际上是ExpertOne-on-OneJ2EEDesignandDevelopment一书中所阐述的设计思想的具体实现。

在One-on-One一书中,RodJohnson倡导J2EE实用主义的设计思想,并随书提供了一个初步的开发框架实现(interface21开发包)。

而SpringFramework正是这一思想的更全面和具体的体现。

RodJohnson在interface21开发包的基础之上,进行了进一步的改造和扩充,使其发展为一个更加开放、清晰、全面、高效的开发框架。

本文正是针对SpringFramework的开发指南,讲述了SpringFramework的设计思想以及在开发中的实际使用。

同时穿插了一些笔者在项目实作中的经验所得。

SpringFrameWorkDevelopersGuideVersion0.6September2,2004Somanyopensourceprojects.WhynotOpenyourDocuments?

Spring初探初探.5准备工作准备工作.5构建构建Spring基础代码基础代码.6Spring基础语义基础语义.12DependencyInjection.12依赖注入的几种实现类型依赖注入的几种实现类型.14Type1接口注入接口注入.15Type2构造子注入构造子注入.15Type3设值注入设值注入.15几种依赖注入模式的对比总结几种依赖注入模式的对比总结.16SpringBean封装机制.17BeanWrapper.17BeanFactory.18ApplicationContext.21WebContext.26Spring高级特性高级特性.27Web应用与MVC.27SpringMVC.28SpringMVC指南指南.28基于模板的Web表示层技术.42Web应用中模板技术与应用中模板技术与JSP技术的对比技术的对比.47输入验证与数据绑定输入验证与数据绑定.49异常处理异常处理.60国际化支持国际化支持.62数据持久层.66事务管理.66持久层封装.70JDBC.70HibernateinSpring.78ibatisinSpring.85以下内容待整理后发布.88远程调用.88AOP.88SpringFrameWorkDevelopersGuideVersion0.6September2,2004Somanyopensourceprojects.WhynotOpenyourDocuments?

Spring初探初探开始Spring研究之前,先让我们来看一个1分钟上手教程。

QuickStart!

准备工作准备工作下载SpringFramework的最新版本,并解压缩到指定目录。

在IDE中新建一个项目,并将Spring.jar将其相关类库加入项目。

笔者所用IDE为Eclipse,类库配置如下:

Spring采用Apachecommon_logging,并结合Apachelog4j作为日志输出组件。

为了在调试过程中能观察到Spring的日志输出,在CLASSPATH中新建log4j.properties配置文件,内容如下:

log4j.rootLogger=DEBUG,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%c1-%m%n配置完成后,项目结构如下图所示:

构建构建Spring基础代码基础代码示例基础代码包括:

1Action接口:

Action接口定义了一个execute方法,在我们示例中,不同的Action实现提供了各自的execute方法,以完成目标逻辑。

publicinterfaceActionpublicStringexecute(Stringstr);

2Action接口的两个实现UpperAction、LowerActionpublicclassUpperActionimplementsActionprivateStringmessage;

publicStringgetMessage()returnmessage;

publicvoidsetMessage(Stringstring)message=string;

publicStringexecute(Stringstr)return(getMessage()+str).toUpperCase();

UpperAction将其message属性与输入字符串相连接,并返回其大写形式。

publicclassLowerActionimplementsActionprivateStringmessage;

publicStringexecute(Stringstr)return(getMessage()+str).toLowerCase();

LowerAction将其message属性与输入字符串相连接,并返回其小写形式。

3Spring配置文件(bean.xml)SpringQuickStartHeLLo(请确保配置bean.xml位于工作路径之下,注意工作路径并不等同于CLASSPATH,eclipse的默认工作路径为项目根路径,也就是.project文件所在的目录,而默认输出目录/bin是项目CLASSPATH的一部分,并非工作路径。

)4测试代码publicvoidtestQuickStart()ApplicationContextctx=newFileSystemXmlApplicationContext(bean.xml);

Actionaction=(Action)ctx.getBean(TheAction);

System.out.println(action.execute(RodJohnson);

可以看到,上面的测试代码中,我们根据bean.xml创建了一个ApplicationContext实例,并从此实例中获取我们所需的Action实现。

运行测试代码,我们看到控制台输出:

HELLORODJOHNSON我们将bean.xml中的配置稍加修改:

再次运行测试代码,看到:

hellorodjohnson示例完成!

很简单的示例,的确很简单,甚至简单到了不够真实。

不过,不知大家从这个最简单的例子中看出了什么?

真的只是打印输出了两行不痛不痒的问候语?

仔细观察一下上面的代码,可以看到:

1我们的所有程序代码中(除测试代码之外),并没有出现Spring中的任何组件。

2UpperAction和LowerAction的Message属性均由Spring通过读取配置文件(bean.xml)动态设置。

3客户代码(这里就是我们的测试代码)仅仅面向接口编程,而无需知道实现类的具体名称。

同时,我们可以很简单的通过修改配置文件来切换具体的底层实现类。

上面所说的这些,对于我们的实际开发有何帮助?

首先,我们的组件并不需要实现框架指定的接口,因此可以轻松的将组件从Spring中脱离,甚至不需要任何修改(这在基于EJB框架实现的应用中是难以想象的)。

其次,组件间的依赖关系减少,极大改善了代码的可重用性。

Spring的依赖注入机制,可以在运行期为组件配置所需资源,而无需在编写组件代码时就加以指定,从而在相当程度上降低了组件之间的耦合。

上面的例子中,我们通过Spring,在运行期动态将字符串“

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1