第十四章Spring应用详解课件培训课件

上传人:yuzo****123 文档编号:140285653 上传时间:2020-07-28 格式:PPT 页数:37 大小:495KB
返回 下载 相关 举报
第十四章Spring应用详解课件培训课件_第1页
第1页 / 共37页
第十四章Spring应用详解课件培训课件_第2页
第2页 / 共37页
第十四章Spring应用详解课件培训课件_第3页
第3页 / 共37页
第十四章Spring应用详解课件培训课件_第4页
第4页 / 共37页
第十四章Spring应用详解课件培训课件_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第十四章Spring应用详解课件培训课件》由会员分享,可在线阅读,更多相关《第十四章Spring应用详解课件培训课件(37页珍藏版)》请在金锄头文库上搜索。

1、第十四章 Spring应用详解,在本章的内容中,首先介绍Spring核心技术控制反转和面向切面编程的基本知识,在Web方面,详细介绍了如何使用Spring实现MVC,然后对Spring中的数据库操作进行简单的介绍,在本章的最后,展示了如何在Spring中进行事务处理,通过本章内容的学习,读者可以从整体上了解Spring的基本知识,通过具体示例程序的学习,读者可以逐步学习编写自己的Spring程序。,14.1 Spring简介,Spring是一个开源框架,是为简化企业级应用系统开发而推出的,通过使用Spring,用户可以用简单的Java Bean实现以前只能用EJB才能完成的任务,虽然Sprin

2、g是为企业级应用推出的,但是所有的Java系统开发都可以使用Spring,包括桌面应用程序和企业级的Web应用,在本节中,将对Spring做一个大体的介绍,关于Spring的核心技术和使用方法在后面的章节中进行介绍。,14.1.1 Spring简介,Spring是一个轻量级的框架,Spring所耗费的系统资源开支比较少,而且Spring是非侵入失的,在一般情况下,引入Spring的系统中,具体的对象并不依赖于Spring的API。在Spring中,提供了对反转控制(IoC)和面向切面编程(AOP)的良好支持,Spring是由以下几个模块组成的,这些模块提供了开发企业级应用所需要的基本功能,可以

3、在自己的程序中选择使用需要的模块。,14.1.2 Spring开发环境的简单配置,Spring开发环境的配置方法比较简单,可以下载Spring的开发包,把下载下来的压缩文件解压到硬盘中,然后把Spring.jar和其他相关类库加入项目即可。另外,还可以在Eclipse(已经安装MyEclipse插件)中配置Spring的开发环境,在Eclipse中新建一个项目,Java Project或者Web Project均可,这个可以根据需要而定,新建工程完成以后,在Eclipse的菜单栏中选择“MyEclipse”|“Capabilities”|“Add Spring Capabilities”就可以

4、进入添加Spring模块的界面,在这个界面中选择所需的Spring模块的类库即可。,14.2.1 控制反转基础知识,在学习Spring的时候,往往会遇到控制反转(Inversion of Control)、依赖注入(Dependency Injection)这些新名词,IoC也就是由容器控制程序之间的关系,而不是在程序中直接使用代码控制,控制权由程序代码转移到外部容器,控制权的转移就是所谓的反转,这就是控制反转(IoC)的本质含义。 由于程序组件之间的依赖关系是有容器控制的,在程序运行期间,是由容器动态将依赖关系注入到组件之中,这就是依赖注入的本质含义。依赖注入在本质上也就是控制反转的另一种解

5、释。,14.2.2 控制反转简单示例,在介绍Spring控制反转的具体内容之前,先展示一个具体的示例程序,通过这个示例程序,读者可以提前体验使用控制反转带来的便捷之处。在下面这个示例程序中,通过控制反转实现了问候用户的基本功能。(具体内容请参照书。),14.2.3 Spring中注入依赖的方法,Spring中对象之间的依赖是由容器控制的,在程序运行期间,容器会根据配置文件的内容把对象之间的依赖关系注入到组件中,从而实现对象之间的协同工作。在Spring中,注入对象之间依赖关系的方式有以下几种。(具体内容请参照书。),14.2.4 Spring中通过赋值方法注入依赖,在接下来的内容中,将简单介绍

6、Spring中注入依赖的几种方法,在上面的简单的Spring依赖注入的示例中,并没有展示复杂的注入特性,仅仅是在程序的运行期间,把Spring IoC这个字符串赋值给Welcome和Bye这两个Bean中的name属性,同时在Welcome和Bye这个两个Bean中还提供了name属性的getter和setter方法,Spring可以调用Bean中的属性设置方法,在程序运行期间,根据配置文件中的内容给Bean的属性赋值。(具体内容请参照书。),14.2.5 Spring中通过构造器注入依赖,赋值注入的方法虽然非常方便,但是也有自身的缺点,在赋值注入的方式中,无法确定哪些属性是必需的,哪些属性是

7、可选的,这样就容易造成初始化bean的时候,有的属性可能并没有被正确设置,而在Spring中,提供了构造器注入依赖的方式,这种方式在构造器中强制需要初始化的方法,而且还可以指定初始化参数的顺序,这种方式可以满足一些赋值注入无法实现的需要。(具体内容请参照书。),14.3 Spring核心理论面向切面编程介绍,面向切面编程(Aspect Oriented Programming即AOP)是Spring中的另一中核心技术, AOP提供另一种角度来思考程序结构,通过使用AOP可以给面向对象编程提供强大的辅助功能,在Spring框架中,提供了对AOP的支持,Spring的AOP框架允许将分散在系统中的

8、模块集中起来,通过AOP中的切面实现,并通过Spring中强大的切入点机制在程序中随时引入切面,通过使用Spring的AOP框架,就可以给系统中添加强大的服务,例如身份认证、声明式事务管理等服务。,14.3.1 面向切面编程基础知识,在一般的应用系统中,会通过多个模块实现系统的总体功能,每个模块的主要功能是提供不同的业务逻辑,但是这些模块会需要一些相似的底层功能的支持,例如安全、用户身份认证、事务处理等。如果在各个模块中都通过代码来调用这些底层功能,就会是调用代码分布在系统的各个角落,从而增加了系统的耦合性,给后继的维护升级都带来很大的潜在困难。,14.3.2 在Spring中创建前置通知,在

9、下面的实例程序中,将展示Spring中创建前置通知的基本方法,下面Customer这个类中,实现了最基本的buy()方法,在这个方法中相控制台打印购买商品的信息。(具体内容请参照书。),14.3.3 在Spring中创建后置通知,在上面的示例程序中,展示了Spring中前置通知的使用方法,在下面的实例程序中,将展示在Spring中创建后置通知的基本方法,在这里仍然使用Customer这个bean作为目标对象,在顾客执行购买商品的动作之后,在控制台打印告别信息。(具体内容请参照书。),14.3.4 在Spring中创建拦截通知,在上面两个实例程序中,分别展示了Spring中前置通知和后置通知的具

10、体实现方法,在实际的开发过程中,也会有创建拦截通知的需要,也就是在方法执行之前和方法返回之后都能够进行特殊的处理,这在Spring中就是拦截通知。(具体内容请参照书。),14.3.5 在Spring中创建异常通知,在上面的示例程序中,展示的都是程序正常运行的时候附加的通知,在Spring中,也提供了异常通知,这种通知会在目标对象抛出异常的时候被调用,下面是在Spring中创建异常通知的具体方法。(具体内容请参照书。),14.3.6 使用Spring静态切入点,在上面展示的各种通知中,使用的就是静态切入点把通知应用在目标对象上,但是在上面的示例程序中,在目标对象中,只有一个方法,所以就不用指定把

11、通知应用在哪个方法中,Spring会把通知应用在这个唯一的方法上。,14.4 Spring实现MVC,虽然在Spring中可以非常方便的与其他MVC框架集成,例如Struts、WebWork等都可以集成在Spring中,而且在Spring中也实现了自身的MVC框架,在Spring的MVC框架中,可以透明地将Web参数绑定到业务对象中, 同时在Spring中还可以使用现存的多种视图技术,Spring解决了传统MVC框架中的不足。,14.4.1 Spring中MVC的实现原理,Spring MVC的核心组件是DispatcherServlet,这个Sevlet是Spring的前端控制器,Dispa

12、tcherServlet和其他普通的Servlet一样,需要在web.xml中进行配置,下面就是一个DispatcherServlet的基本配置,具体代码如下。(具体内容请参照书。),14.4.2 Spring中简单MVC示例,在本节中,将通过一个简单的示例程序,用来展示Spring MVC的基本处理流程,在上面的章节中,介绍了Spring MVC的基本流程,在这里我们先辨析控制器的逻辑,在这个示例程序中,控制器的具体代码如下。(具体内容请参照书。),14.4.3 把用户请求映射到控制器,在Spring中还提供了另一种映射处理器,即SimpleUrlHandlerMapping,这个映射处理器

13、的使用也非常简单,例如在下面的配置示例中,有两个控制器bean,分别对应着两个不同的用户请求URL,这就可以使用SimpleUrlHandlerMapping来进行处理,具体的配置过程如下。(具体内容请参照书。),14.4.4 在控制器中处理带参数的用户请求,通过上面章节中配置的映射处理器,可以把用户的请求URL映射到控制器中,然后控制器就可以根据用户请求的信息进行相应的处理,在本节中将介绍Spring MVC中处理用户请求参数的具体方法。(具体内容请参照书。),14.4.5 在控制器中处理简单的表单,在Spring MVC中,提供了处理表单的处理器,不仅可以处理简单的表单,而且可以提供复杂表

14、单的向导,在下面会展示Spring中处理简单表单的基本方法。(具体内容请参照书。),14.4.6 解析视图,在上面的示例程序中可以看出,Spring MVC的控制器在处理结束之后,会把处理的结果用ModelAndView对象的形式返回,这个对象是不能直接展示给用户的,需要通过视图解析器的解析,把这个对象中的信息提取出来以后在展示给用户。上面的示例程序中,仅仅使用jsp模版来展示ModelAndView对象的信息,其实在Spring MVC中提供了很多中视图展示技术,例如JSTL、JSP、Velocity等,这些内容可以参考Spring reference,在这里限于篇幅不再赘述。,14.5 S

15、pring中的数据库操作,数据库操作是Spring独具特色的地方,再Spring的数据库操作中,不用再担心数据库资源释放的问题,Spring中提供了常用的数据库操作模版,用户可以专注书写自己的数据库操作业务代码,而不再过多考虑数据库连接的取得与释放。而且Spring还可以非常方便与其他ORM工具整合,Spring提供了对这些ORM工具良好的支持。,14.5.1 在Spring中配置数据源,在对数据库进行操作的时候,首先需要取得一个Connection对象,即需要首先取得与数据库的连接,在Spring中,是从DataSource中获取Connection对象的,通过下面的配置文件就完成了对数据源

16、DataSource的配置。,14.5.2 使用JdbcTemplate进行简单的数据库操作,虽然Spring可以很好的和其他ORM工具整合,但是普通的JDBC操作还是大部分开发人员的首选,所以在Spring中提供很好的JDBC支持, Spring中的JDBC框架承担了资源管理和错误处理的任务,从而使数据库操作的代码非常简洁。在Spring这些功能可以用JdbcTemplate类来完成,我们可以在程序用下面的代码创建一个JdbcTemplate对象。,14.5.3 使用JdbcTemplate进行Java对象查询操作,在上面的实例程序中,返回的结果都是Java中基本的数据库类型,在Spring中,同样可以返回对象格式的结果,而且在Spring中返回对象比在简单的JDBC重返回对象的操作要简洁很多。在下面的实例程序中,将展示Spring返回基本Java对象的具体方法。(具体内容请参照书。),14.5.4 Spring中另一种Java对象查询的实现方法,在Spring中,提供了另外一种数据库操作方法,同样可以把查询的结果模拟成Java对象,即使用org.springframework.jd

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号