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

上传人(卖家):三亚风情 文档编号:3372369 上传时间:2022-08-24 格式:PPT 页数:22 大小:1.14MB
下载 相关 举报
Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt_第1页
第1页 / 共22页
Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt_第2页
第2页 / 共22页
Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt_第3页
第3页 / 共22页
Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt_第4页
第4页 / 共22页
Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

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

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java-EE-SSH框架应用开发项目教程-第11章Spring框架(IoC和AOP)课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|