最新十四章Spring应用详解ppt课件ppt课件.ppt

上传人:豆**** 文档编号:33114632 上传时间:2022-08-10 格式:PPT 页数:38 大小:853.50KB
返回 下载 相关 举报
最新十四章Spring应用详解ppt课件ppt课件.ppt_第1页
第1页 / 共38页
最新十四章Spring应用详解ppt课件ppt课件.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《最新十四章Spring应用详解ppt课件ppt课件.ppt》由会员分享,可在线阅读,更多相关《最新十四章Spring应用详解ppt课件ppt课件.ppt(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、14.1 Spring简介 Spring是一个开源框架,是为简化企业级应用系统开发而推出的,通过使用Spring,用户可以用简单的Java Bean实现以前只能用EJB才能完成的任务,虽然Spring是为企业级应用推出的,但是所有的Java系统开发都可以使用Spring,包括桌面应用程序和企业级的Web应用,在本节中,将对Spring做一个大体的介绍,关于Spring的核心技术和使用方法在后面的章节中进行介绍。14.2.4 Spring中通过赋值方法注入依赖 在接下来的内容中,将简单介绍Spring中注入依赖的几种方法,在上面的简单的Spring依赖注入的示例中,并没有展示复杂的注入特性,仅仅

2、是在程序的运行期间,把Spring IoC这个字符串赋值给Welcome和Bye这两个Bean中的name属性,同时在Welcome和Bye这个两个Bean中还提供了name属性的getter和setter方法,Spring可以调用Bean中的属性设置方法,在程序运行期间,根据配置文件中的内容给Bean的属性赋值。(具体内容请参照书。)14.2.5 Spring中通过构造器注入依赖 赋值注入的方法虽然非常方便,但是也有自身的缺点,在赋值注入的方式中,无法确定哪些属性是必需的,哪些属性是可选的,这样就容易造成初始化bean的时候,有的属性可能并没有被正确设置,而在Spring中,提供了构造器注入

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

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

5、方法,在这个方法中相控制台打印购买商品的信息。(具体内容请参照书。)14.3.3 在Spring中创建后置通知 在上面的示例程序中,展示了Spring中前置通知的使用方法,在下面的实例程序中,将展示在Spring中创建后置通知的基本方法,在这里仍然使用Customer这个bean作为目标对象,在顾客执行购买商品的动作之后,在控制台打印告别信息。(具体内容请参照书。)14.3.4 在Spring中创建拦截通知 在上面两个实例程序中,分别展示了Spring中前置通知和后置通知的具体实现方法,在实际的开发过程中,也会有创建拦截通知的需要,也就是在方法执行之前和方法返回之后都能够进行特殊的处理,这在S

6、pring中就是拦截通知。(具体内容请参照书。)14.3.5 在Spring中创建异常通知 在上面的示例程序中,展示的都是程序正常运行的时候附加的通知,在Spring中,也提供了异常通知,这种通知会在目标对象抛出异常的时候被调用,下面是在Spring中创建异常通知的具体方法。(具体内容请参照书。)14.3.6 使用Spring静态切入点 在上面展示的各种通知中,使用的就是静态切入点把通知应用在目标对象上,但是在上面的示例程序中,在目标对象中,只有一个方法,所以就不用指定把通知应用在哪个方法中,Spring会把通知应用在这个唯一的方法上。14.4 Spring实现MVC 虽然在Spring中可以

7、非常方便的与其他MVC框架集成,例如Struts、WebWork等都可以集成在Spring中,而且在Spring中也实现了自身的MVC框架,在Spring的MVC框架中,可以透明地将Web参数绑定到业务对象中, 同时在Spring中还可以使用现存的多种视图技术,Spring解决了传统MVC框架中的不足。14.4.1 Spring中MVC的实现原理 Spring MVC的核心组件是DispatcherServlet,这个Sevlet是Spring的前端控制器,DispatcherServlet和其他普通的Servlet一样,需要在web.xml中进行配置,下面就是一个DispatcherServ

8、let的基本配置,具体代码如下。(具体内容请参照书。)14.4.2 Spring中简单MVC示例 在本节中,将通过一个简单的示例程序,用来展示Spring MVC的基本处理流程,在上面的章节中,介绍了Spring MVC的基本流程,在这里我们先辨析控制器的逻辑,在这个示例程序中,控制器的具体代码如下。(具体内容请参照书。)14.4.3 把用户请求映射到控制器 在Spring中还提供了另一种映射处理器,即SimpleUrlHandlerMapping,这个映射处理器的使用也非常简单,例如在下面的配置示例中,有两个控制器bean,分别对应着两个不同的用户请求URL,这就可以使用SimpleUrlH

9、andlerMapping来进行处理,具体的配置过程如下。(具体内容请参照书。)14.4.4 在控制器中处理带参数的用户请求 通过上面章节中配置的映射处理器,可以把用户的请求URL映射到控制器中,然后控制器就可以根据用户请求的信息进行相应的处理,在本节中将介绍Spring MVC中处理用户请求参数的具体方法。(具体内容请参照书。)14.4.5 在控制器中处理简单的表单 在Spring MVC中,提供了处理表单的处理器,不仅可以处理简单的表单,而且可以提供复杂表单的向导,在下面会展示Spring中处理简单表单的基本方法。(具体内容请参照书。)14.4.6 解析视图 在上面的示例程序中可以看出,S

10、pring MVC的控制器在处理结束之后,会把处理的结果用ModelAndView对象的形式返回,这个对象是不能直接展示给用户的,需要通过视图解析器的解析,把这个对象中的信息提取出来以后在展示给用户。上面的示例程序中,仅仅使用jsp模版来展示ModelAndView对象的信息,其实在Spring MVC中提供了很多中视图展示技术,例如JSTL、JSP、Velocity等,这些内容可以参考Spring reference,在这里限于篇幅不再赘述。14.5 Spring中的数据库操作 数据库操作是Spring独具特色的地方,再Spring的数据库操作中,不用再担心数据库资源释放的问题,Spring

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

12、是普通的JDBC操作还是大部分开发人员的首选,所以在Spring中提供很好的JDBC支持, Spring中的JDBC框架承担了资源管理和错误处理的任务,从而使数据库操作的代码非常简洁。在Spring这些功能可以用JdbcTemplate类来完成,我们可以在程序用下面的代码创建一个JdbcTemplate对象。14.5.3 使用JdbcTemplate进行Java对象查询操作 在上面的实例程序中,返回的结果都是Java中基本的数据库类型,在Spring中,同样可以返回对象格式的结果,而且在Spring中返回对象比在简单的JDBC重返回对象的操作要简洁很多。在下面的实例程序中,将展示Spring返

13、回基本Java对象的具体方法。(具体内容请参照书。)14.5.4 Spring中另一种Java对象查询的实现方法 在Spring中,提供了另外一种数据库操作方法,同样可以把查询的结果模拟成Java对象,即使用org.springframework.jdbc.object.MappingSqlQuery,在下面的示例程序中,展示的就是使用MappingSqlQuery把查询的结果模拟成对象的操作过程,详细代码如下。(具体内容请参照书。)14.5.5 Spring中更新Java对象的方法 在Spring中提供了一种真正把数据库操作模拟成对象的方法,下面的这个示例程序就展示了这样一种方法,在这个实例

14、程序中,把更新数据库的操作模拟成面向对象的方法。在这个实例程序中,继承了SqlUpdate类,从而实现了用对象的形式更新数据库的操作。(具体内容请参照书。)14.5.6 Spring和第三方ORM工具整合 在Spring中,本身并没有提供ORM的实现,但是提供了对现在流行的各种ORM工具的支持,例如Hibernate、OJB、iBatis等,Spring可以和这些ORM框架很好的整合,用来提供ORM的服务,而且在Spring中,还提供了一些基于ORM的附加服务,例如强大的事务管理功能、异常处理、模板类等。这就使Spring的ORM使用和操作变得非常方便。14.6 Spring中的事务处理 在数

15、据库操作中,事务处理是非常重要的,在Spring中提供了强大的事务处理功能,不仅可以用编程的方式是实现,而且可以使用声明方式实现,通过使用Spring,可以在简单的JavaBean中使用类似EJB中的声明式事务管理。14.6.1 事务处理的基本知识 在数据库操作中,事务处理是经常用到的,例如在银行的业务中,甲方给乙方账户转账10万人民币,首先要从甲方的账户减去10万,然后再给乙方的账户增加10万,整个操作过程是一个整体,这就是一个简单的事务,在这个事务中必须保证操作的完整性,两步操作要么全执行,如果其中一步出错全都不执行,从而保证这个业务的正确性和完整性。14.6.2 Spring中的事务管策

16、略 在Spring中,并没有直接管理事务,而是提供了多种职务管理器,将事务管理的任务委托给这些事务管理器进行处理,每种事务管理器都是针对某种特定的平台,例如使用JDBC DataSource进行数据库操作的时候可以使用DataSourceTransactionManager进行事务处理,使用Hibernate的时候可以使用HibernateTransactionManager进行事务管理。14.6.3 使用Spring编程式事务管理 在14.6.1中,可以看到使用JDBC进行事务处理的代码,在Spring中,处理事务的代码会简单很多, Spring中处理事务可以通过编程的方式实现,即通过代码调

17、用Spring中的事务管理API,也可以通过Spring的上下文配置,用声明的方式进行事务管理。14.6.4 使用Spring声明式事务管理 在Spring中,提供了声明式的事务管理,使简单的JavaBean中也拥有了类似EJB的声明式事务管理功能。Spring中的声明式事务管理是使用AOP框架实现的,可以在程序中需要事务管理的地方用AOP的方式引入事务管理。14.7 小结 在本章的内容中,介绍了Spring的基本知识,对Spring中各个部分的主要内容做了基本的介绍,在Spring中,核心的技术就是IoC和AOP,这两种技术贯穿了Spring的所有主题。Spring数据库方面、Web方面、事务处理方面都有着强大的功能,在本章中仅仅是对Spring的核心内容做了简单的介绍,从而是读者对这项技术有一个清醒的认识,如果读者有意进一步研究Spring的相关知识,可以参考Spring Reference,这是学习Spring的一个经典的资料。

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com