第5章Spring应用课堂.ppt
《第5章Spring应用课堂.ppt》由会员分享,可在线阅读,更多相关《第5章Spring应用课堂.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章Spring应用课堂 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望回顾:Struts2应用Struts2Struts2开发流程:开发流程:开发流程:开发流程:2 2个个个个XML+ActionXML+Action类类类类+JSP+JSP页面页面页面页面+JavaBean+JavaBean校验器:校验器:校验器:校验器:validatevalidate方法或者方法或者方法或者方法或者XMLXML校验器校验器校验器校验器 注意:命名注意:命名注意:命名注意:命
2、名+位置位置位置位置拦截器:拦截器:拦截器:拦截器:struts.xmlstruts.xml配置配置配置配置 拦截器类(继承拦截器类(继承拦截器类(继承拦截器类(继承AbstractInterceptorAbstractInterceptor,重写,重写,重写,重写interceptintercept方法方法)国际化:国际化:国际化:国际化:struts.propertiesstruts.properties 相应语言的相应语言的相应语言的相应语言的propertiesproperties文件文件文件文件(*_zh_CN.properties(*_zh_CN.properties或或或或*_e
3、n_US.properties)*_en_US.properties)位置位置位置位置+命名命名命名命名2回顾:Hibernate应用Hibernate开发步骤:(1 1)创建)创建)创建)创建HibernateHibernate的配置文件。的配置文件。的配置文件。的配置文件。(2 2)创建持久化类。)创建持久化类。)创建持久化类。)创建持久化类。(3 3)创建对象)创建对象)创建对象)创建对象-关系映射文件。关系映射文件。关系映射文件。关系映射文件。(4 4)通过)通过)通过)通过HibernateAPIHibernateAPI编写访问数据库的代码。编写访问数据库的代码。编写访问数据库的代码
4、。编写访问数据库的代码。3第5章Spring应用4第5章Spring应用5.1Spring5.1Spring概述概述概述概述5.2Spring5.2Spring核心机制核心机制核心机制核心机制依赖注入依赖注入依赖注入依赖注入5.3Spring5.3Spring核心接口及基本配置核心接口及基本配置核心接口及基本配置核心接口及基本配置5.4SpringAOP5.4SpringAOP5.5Spring5.5Spring事务支持事务支持事务支持事务支持5.6Spring5.6Spring与与与与Struts2Struts2整合应用整合应用整合应用整合应用5.7Spring5.7Spring与与与与Hi
5、bernateHibernate整合应用整合应用整合应用整合应用55.1Spring概述Spring框架的主要优势之一是其框架的主要优势之一是其分层架构分层架构,分层架构允许选,分层架构允许选择使用任一个组件,同时为择使用任一个组件,同时为JavaEE应用程序开发提供集成应用程序开发提供集成的框架。的框架。Spring框架的分层架构,由框架的分层架构,由7个定义良好的模块组个定义良好的模块组成。成。Spring模块构建在核心容器之上,核心容器定义了创建、模块构建在核心容器之上,核心容器定义了创建、配置和管理配置和管理Bean的方式,如图的方式,如图5.1所示。所示。图5.1Spring框架的组
6、件结构图65.1Spring概述组成组成组成组成SpringSpring框架的每个模块(或组件)都可以单独存在,框架的每个模块(或组件)都可以单独存在,框架的每个模块(或组件)都可以单独存在,框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。各模块的功能如或者与其他一个或多个模块联合实现。各模块的功能如或者与其他一个或多个模块联合实现。各模块的功能如或者与其他一个或多个模块联合实现。各模块的功能如下:下:下:下:核心容器。提供核心容器。提供核心容器。提供核心容器。提供SpringSpring框架的基本功能,其主要组件是框架的基本功能,其主要组件是框架的基本功能,其主要组
7、件是框架的基本功能,其主要组件是BeanFactoryBeanFactory,是工厂模式的实现。,是工厂模式的实现。,是工厂模式的实现。,是工厂模式的实现。SpringSpring上下文。向上下文。向上下文。向上下文。向SpringSpring框架提供上下文信息,包括框架提供上下文信息,包括框架提供上下文信息,包括框架提供上下文信息,包括企业服务,如企业服务,如企业服务,如企业服务,如JNDIJNDI、EJBEJB、电子邮件、国际化、校验和调、电子邮件、国际化、校验和调、电子邮件、国际化、校验和调、电子邮件、国际化、校验和调度等。度等。度等。度等。SpringAOPSpringAOP。通过配置
8、管理特性,可以很容易地使。通过配置管理特性,可以很容易地使。通过配置管理特性,可以很容易地使。通过配置管理特性,可以很容易地使 SpringSpring框架管理的任何对象支持框架管理的任何对象支持框架管理的任何对象支持框架管理的任何对象支持AOPAOP。SpringAOPSpringAOP模模模模块直接将面向方面编程的功能集成到块直接将面向方面编程的功能集成到块直接将面向方面编程的功能集成到块直接将面向方面编程的功能集成到SpringSpring框架中。它为框架中。它为框架中。它为框架中。它为基于基于基于基于SpringSpring应用程序的对象提供了事务管理服务。应用程序的对象提供了事务管理
9、服务。应用程序的对象提供了事务管理服务。应用程序的对象提供了事务管理服务。SpringDAOSpringDAO。JDBCDAOJDBCDAO抽象层提供了有用的异常层抽象层提供了有用的异常层抽象层提供了有用的异常层抽象层提供了有用的异常层次结构,用来管理异常处理和不同数据库供应商抛出的错次结构,用来管理异常处理和不同数据库供应商抛出的错次结构,用来管理异常处理和不同数据库供应商抛出的错次结构,用来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低误消息。异常层次结构简化了错误处理,并且极大地降低误消息。异常层次结构简化了错误处理,并且极大地降低误消息。异常层
10、次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(如打开和关闭连接)。了需要编写的异常代码数量(如打开和关闭连接)。了需要编写的异常代码数量(如打开和关闭连接)。了需要编写的异常代码数量(如打开和关闭连接)。75.1Spring概述 SpringORMSpringORM。SpringSpring框架插入了若干框架插入了若干框架插入了若干框架插入了若干ORMORM框架,提框架,提框架,提框架,提供供供供ORMORM的对象关系工具,其中包括的对象关系工具,其中包括的对象关系工具,其中包括的对象关系工具,其中包括JDOJDO、HibernateHibernate和和和和iBatisSQL
11、MapiBatisSQLMap,并且都遵从,并且都遵从,并且都遵从,并且都遵从SpringSpring的通用事务和的通用事务和的通用事务和的通用事务和DAODAO异常层次结构。异常层次结构。异常层次结构。异常层次结构。SpringWebSpringWeb模块。为基于模块。为基于模块。为基于模块。为基于WebWeb的应用程序提供上下的应用程序提供上下的应用程序提供上下的应用程序提供上下文。它建立在应用程序上下文模块之上,简化了处理多份文。它建立在应用程序上下文模块之上,简化了处理多份文。它建立在应用程序上下文模块之上,简化了处理多份文。它建立在应用程序上下文模块之上,简化了处理多份请求及将请求参
12、数绑定到域对象的工作。请求及将请求参数绑定到域对象的工作。请求及将请求参数绑定到域对象的工作。请求及将请求参数绑定到域对象的工作。SpringSpring框架支持框架支持框架支持框架支持与与与与JakartaStrutsJakartaStruts的集成。的集成。的集成。的集成。SpringMVCSpringMVC框架,是一个全功能构建框架,是一个全功能构建框架,是一个全功能构建框架,是一个全功能构建WebWeb应用程序的应用程序的应用程序的应用程序的 MVCMVC实现。通过策略接口实现高度可配置,实现。通过策略接口实现高度可配置,实现。通过策略接口实现高度可配置,实现。通过策略接口实现高度可配
13、置,MVCMVC容纳了容纳了容纳了容纳了大量视图技术,其中包括大量视图技术,其中包括大量视图技术,其中包括大量视图技术,其中包括JSPJSP、VelocityVelocity、TilesTiles、iTextiText和和和和POIPOI。8第5章Spring应用5.1Spring5.1Spring概述概述概述概述5.2Spring5.2Spring核心机制核心机制核心机制核心机制依赖注入依赖注入依赖注入依赖注入5.3Spring5.3Spring核心接口及基本配置核心接口及基本配置核心接口及基本配置核心接口及基本配置5.4SpringAOP5.4SpringAOP5.5Spring5.5Sp
14、ring事务支持事务支持事务支持事务支持5.6Spring5.6Spring与与与与Struts2Struts2整合应用整合应用整合应用整合应用5.7Spring5.7Spring与与与与HibernateHibernate整合应用整合应用整合应用整合应用95.2Spring核心机制依赖注入5.2.15.2.1工厂模式工厂模式工厂模式工厂模式下面举例说明工厂模式的应用。下面举例说明工厂模式的应用。创建一个创建一个JavaProjectJavaProject,命名为,命名为“FactoryExample”“FactoryExample”。在。在srcsrc文件夹下建立包文件夹下建立包facefa
15、ce,在该包下建立接口,在该包下建立接口HumanHuman,代码如下:,代码如下:在在srcsrc文件夹下建立包文件夹下建立包ifaceiface,在该包下建立,在该包下建立ChineseChinese类和类和AmericanAmerican类,分别实现类,分别实现HumanHuman接口。接口。packageface;publicinterfaceHumanvoideat();voidwalk();105.2.1工厂模式American.java、Chinese.java代码如下:packageiface;importface.Human;publicclassAmericanimplem
16、entsHumanpublicvoideat()System.out.println(美国人吃西餐!美国人吃西餐!);publicvoidwalk()System.out.println(美国人经常坐车!美国人经常坐车!);packageiface;importface.Human;publicclassChineseimplementsHumanpublicvoideat()System.out.println(中国人很会吃!中国人很会吃!);publicvoidwalk()System.out.println(中国人健步如飞!中国人健步如飞!);115.2.1工厂模式在src文件夹下建包f
17、actory,在该包内建立工厂类Factory,代码如下:packagefactory;importiface.American;importiface.Chinese;importface.Human;publicclassFactorypublicHumangetHuman(Stringname)if(name.equals(Chinese)returnnewChinese();elseif(name.equals(American)returnnewAmerican();elsethrownewIllegalArgumentException(参数不正确参数不正确);125.2.1工厂模
18、式在src文件夹下建包test,在该包内建立测试类Test,代码如下:packagetest;importface.Human;importfactory.Factory;publicclassTestpublicstaticvoidmain(Stringargs)Humanhuman=null;human=newFactory().getHuman(Chinese);human.eat();human.walk();human=newFactory().getHuman(American);human.eat();human.walk();135.2.1工厂模式该程序为Java应用程序,直接
19、运行可看出结果,如图5.2所示。图5.2工厂模式运行结果145.2.2依赖注入应用1.1.为项目添加为项目添加为项目添加为项目添加SpringSpring开发能力开发能力开发能力开发能力右击项目名,选择【右击项目名,选择【MyEclipseMyEclipse】【AddSpringAddSpringCapabilitiesCapabilities】菜单项,将出现如图】菜单项,将出现如图5.35.3所示的对话框,选中所示的对话框,选中要应用的要应用的SpringSpring的版本及所需的类库文件。的版本及所需的类库文件。图5.3选择Spring版本及类库对话框155.2.2依赖注入应用选择结束后,
20、单击【Next】按钮,出现如图5.4所示的界面。用于创建Spring的配置文件。单击【Finish】按钮完成。项目的src文件夹下会出现名为applicationContext.xml的文件,这就是Spring的核心配置文件。图5.4创建Spring的配置文件165.2.2依赖注入应用2、修改applicationContext.xml175.2.2依赖注入应用3.修改测试类修改测试类配置完成后,就可以修改Test类。publicclassTestpublicstaticvoidmain(Stringargs)/*Humanhuman=null;human=newFactory().getHu
21、man(Chinese);human.eat();human.walk();human=newFactory().getHuman(American);human.eat();human.walk();*/ApplicationContextctx=newFileSystemXmlApplicationContext(src/applicationContext.xml);Humanhuman=null;human=(Human)ctx.getBean(chinese);human.eat();human.walk();human=(Human)ctx.getBean(american);hu
22、man.eat();human.walk();185.2.2依赖注入应用4.运行运行运行该测试类,结果如图5.5所示。图5.5运行结果195.2.2依赖注入应用对象ctx就相当于原来的Factory工厂,原来的Factory可以删除掉了。再回头看原来的applicationContext.xml文件配置:id是ctx.getBean的参数值,一个字符串。class是一个类(包名+类名)。然后在Test类里获得Chinese对象及American对象:human=(Human)ctx.getBean(american);human=(Human)ctx.getBean(american);205
23、.2.3注入的两种方式1.1.设置注入设置注入设置注入设置注入设置注入是通过设置注入是通过settersetter方法注入被调用者的实例。这种方方法注入被调用者的实例。这种方法简单、直观,很容易理解,因而法简单、直观,很容易理解,因而SpringSpring的依赖注入被的依赖注入被大量使用,下面举例说明。大量使用,下面举例说明。创建一个创建一个JavaProjectJavaProject,命名为,命名为“FactoryExample1”“FactoryExample1”。在项目的在项目的srcsrc文件夹下建立下面的源文件。文件夹下建立下面的源文件。HumanHuman的接口,的接口,Huma
24、n.javaHuman.java,代码如下:,代码如下:LanguageLanguage接口,接口,Language.javaLanguage.java,代码如下:,代码如下:publicinterfaceLanguagepublicStringkind();publicinterfaceHumanvoidspeak();215.2.3注入的两种方式下面是Human实现类Chinese.java代码:下面是Language实现类English.java代码:publicclassEnglishimplementsLanguage publicStringkind()return中国人也会说英语
25、!中国人也会说英语!;publicclassChineseimplementsHuman privateLanguagelan;publicvoidspeak()System.out.println(lan.kind();publicvoidsetLan(Languagelan)this.lan=lan;225.2.3注入的两种方式下面通过Spring的配置文件来完成其对象的注入。代码如下:235.2.3注入的两种方式测试代码如下:程序执行结果如图5.6所示。importorg.springframework.context.ApplicationContext;importorg.sprin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Spring 应用 课堂
限制150内