书签 分享 收藏 举报 版权申诉 / 22
上传文档赚钱

类型Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3372369
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:22
  • 大小:1.14MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java EE SSH 框架 应用 开发 项目 教程 11 Spring IoC AOP 课件
    资源描述:

    1、JavaEE SSH框架应用开发 第2版第11章 Spring框架(IoC和AOP)Spring概述 Spring的一个最大的目的就是使J2EE开发变得更加容易。同时,Spring之所以与Struts、Hibernate等框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用程序,并且可以将单层框架以最佳的组合揉和在一起。可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(Plain Old Java Object)对象提供企业级的服务。Spring组成模块 Spring框架由七个定义明确的模块组成,这些模块为你提供了开发企业应用所需的一切。但你可以自由

    2、地挑选适合你的应用的模块而忽略其余的模块。Spring的特征容器 首先它是一个容器,Spring包含并管理JavaBean的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建,你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及bean之间的关系。框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被配置在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),所以它本身也是一个功能强大的框架。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1M

    3、B多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的,即Spring应用中的对象不依赖于Spring的特定类,从这点上我们也可以理解为,我们的应用程序与Spring框架是松耦合的。Spring特征控制反转IoCSpring通过一种称作控制反转(IoC)的技术促进了松耦合。当你使用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面AOPSpring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与其它系统

    4、级服务进行开发。应用对象只实现它们的业务逻辑就可以了,与应用无关但又必须要的一些代码,如日志记录、事务处理、错误处理等功能,我们可以写在另外一个地方,然后由Spring把它们组合在一起运行,实现相应的功能。IoC容器 依赖注入(Dependence Injection)将组件对象的控制权从代码本身转移到外部容器。在一个系统中,类与类之间都存在着大量的依赖关系。大型的项目这种情况尤其突出,少说也有上百个类。如果这成百上千个类的依赖关系中,因为其中一两个类出现问题,就可能导致整个系统出现问题甚至瘫痪,这样的系统是很脆弱的。IoC案例 实现汽车、发动机和轮胎的依赖注入 具体步骤和代码参见书本使用p命

    5、名空间在新版本的Spring中:加入了使用p命名空间注入属性值,它的特点是使用的属性而不是子元素的形式配置Bean的属性注入,从而简化配置代码。比如:可以改成:p命名空间的语法运行的效果是一样的,p命名空间的语法是:对于传值(基本数据类型、字符串)属性:p:属性名=属性值 对于传引用类型Bean的属性:p:属性名-ref=Bean的id使用前要先要在Spring配置文件中引入p命名空间,这句在MyEclipse默认产生的配置文件中就已经配置了:xmlns:p=http:/www.springframework.org/schema/p自动注入通过上面的applicationContext.xm

    6、l配置文件会发现一个问题,当一个类需要注入的属性特别多的时候,就需要写大量的注入代码。尤其是大量项目,有大量的类需要注入。Spring提供了自动注入的方式减少开发者的工作量。比如这一句:自动注入取值取取 值值说说 明明no默认值default。Spring 默认不进行自动装配,必须显式指定依赖对象 byName根据属性名自动装配。Spring 自动查找与属性名相同的id,如果找到,则自动注入,否则什么都不做byType根据属性的类型自动装配。Spring 自动查找与属性类型相同的Bean,如果刚好找到唯一的那个,则自动注入;如果找到多个与属性类型相同的Bean,则抛出异常;如果没找到,就什么也

    7、不做constructor和byType 类似,不过它针对构造方法。如果 Spring 找到一个Bean和构造方法的参数类型相匹配,则通过构造注入该依赖对象;如果找不到,将抛出异常 构造器注入其它代码不变,运行结果也是一样的。这就是构造器注入,只是换了一种方式而已。构造器注入的几个要点:1.一个元素表示构造方法的一个参数,且使用时不区分顺序。2.通过元素的index 属性可以指定该参数的位置索引,位置从0 开始。元素还提供了type 属性用来指定参数的类型,避免字符串和基本数据类型的混淆。Bean的作用域 以前bean只有2种作用域即:singleton(单例)、non-singleton(也

    8、称 prototype),Spring2.0以后,增加了session、request、global session三种专用于Web应用程序上下文的Bean。1.singleton作用域(scope 默认值)2.prototype3.session、request、global session4.自定义bean装配作用域AOP概述 AOP(Aspect Orient Programming面向切面编程):之前我们学过面向对象编程(OOP),OOP是从静态角度考虑程序结构,(AOP)则是从动态角度考虑程序的运行过程。AOP的原理:将复杂的需求分解出不同方面,将散布在系统中的公共功能集中解决。AO

    9、P 的作用:处理一些具有横切性质的系统性服务,如事物管理、安全检查、缓存、对象池管理等。AOP的实现 AOP 编程其实并不难。可以简单分成三个步骤:1.定义普通业务功能的实现(即汉堡包中的鸡肉)。2.定义切入点,一个切入点可能横切多个业务方法(面包和蔬菜)。3.定义增强处理,增强处理就是在 AOP 框架为普通业务功能织入的处理(把三者叠在一起,做成汉堡)。AOP代码增强前置增强(Before advice):在某连接点之前执行的增强,但这个增强不能阻止连接点之前的执行流程(除非它抛出一个异常)。后置增强(After returning advice):在某连接点正常完成后执行的增强:例如,一个

    10、方法没有抛出任何异常,正常返回。异常增强(After throwing advice):在方法抛出异常退出时执行的增强。最终增强(After(finally)advice):当某连接点退出的时候执行的增强(不论是正常返回还是异常退出)。AOP环绕增强(Around Advice):包围一个连接点的增强,如方法调用。这是最强大的一种增强类型。环绕增强可以在方法调用前后完成自定义的行为。它也会选择是否继续执行连接点或直接返回它自己的返回值或抛出异常来结束执行。注解实现AOP 案例请参见书籍注解 Aspect 放在类的上面,表示这个类在Spring容器中是一个切点,要织入的类。Before 前置增强

    11、 AfterReturning 后置增强 Around 环绕增强 AfterThrowing 抛出增强 After final增强,不管是抛出异常或是正常退出,该增强都会得到执行Spring注解管理IoCComponent:通用注解,可以用在任何一个类上,表示该类定义为Spring管理Bean,使用默认value(可选)属性表示Bean标识符。Repository:用于标注DAO类,使用方法与Component相同。Service:用于标注业务类,使用方法与Component相同。Controller:用于标注控制器类,使用方法与Component相同。Autowired:注解实现Bean的自

    12、动注入,默认按类型进行匹配。这个注解是Spring提供的。Resource的作用相当于Autowired,只不过Autowired按byType自动注入,而Resource默认按byName自动注入,这个注解是由Java JDK自带的。Qualifier:按指定名称匹配进行注入。Scope注解指定Bean的作用域。注解应用案例 以上面的用户登录并记录日志做为案例,这次我们改用Spring注解的方式管理JavaBean,AOP增强处理改成环绕增强,增强处理的修改不是必须的,之所以改是想同时也介绍一下环绕增强代码的写法,运行效果也和上面的用户登录是相同的。具体参见书籍本章主要内容 学完本章后,能够掌握以下内容:Spring的AOP容器 Spring的IoC容器 你可以认为它是一个粘合剂,将不同的框架粘合在一起,让它们和平相处,但Spring又为这些粘合在一起的框架提供新的、强大的功能。THANK YOU

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt
    链接地址:https://www.163wenku.com/p-3372369.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库