《深入使用Spring》PPT课件.ppt

上传人:sh****n 文档编号:12666615 上传时间:2020-05-13 格式:PPT 页数:35 大小:860.31KB
返回 下载 相关 举报
《深入使用Spring》PPT课件.ppt_第1页
第1页 / 共35页
《深入使用Spring》PPT课件.ppt_第2页
第2页 / 共35页
《深入使用Spring》PPT课件.ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
深入使用Spring,目录,1两种后处理器2Spring的AOP3Spring和其他框架的整合4本讲小结,Spring的后处理器,Spring框架提供了很好的扩展性,除了可以与各种第三方框架良好整合外,其IoC容器也允许开发者进行扩展。这种扩展并不是通过实现BeanFactory或ApplicationContext的子类,而是通过两个后处理器对IoC容器进行扩展。Spring提供了两种常用的后处理器:Bean后处理器,这种后处理器会对容器中特定的Bean进行定制,例如功能的加强。容器后处理器,这种后处理器对IoC容器进行特定的后处理。,Bean后处理器,Bean后处理器是一种特殊的Bean,这种特殊的Bean并不对外提供服务,它无须id属性,但它负责对容器中的其他Bean执行后处理,例如为容器中的目标Bean生成代理。这种Bean可称为Bean后处理器,它在Bean实例创建成功后,对其进行进一步的加强处理。Bean后处理器必须实现BeanPostProcessor接口。,Bean后处理器,实际操作演示,容器后处理器,容器后处理器则负责后处理容器本身。容器后处理器必须实现BeanFactoryPostProcessor接口。实现该接口必须实现如下一个方法:voidpostProcessBeanFactory(ConfigurableListableBeanFactorybeanFactory)实现该方法的方法体就是对Spring容器进行的处理,这种处理可以对Spring容器进行任意的扩展,当然也可以对Spring容器不进行任何处理。,容器后处理器,Spring已提供如下两个常用的容器后处理器,包括:PropertyResourceConfigurer,属性占位符配置器。PropertyPlaceHolderConfigurer,另一种属性占位符配置器。,目录,1两种后处理器2Spring的AOP3Spring和其他框架的整合4本讲小结,什么是AOP?,AOP:Aspect-OrientedProgrammingOOP:Object-OrientedProgrammingAOP可以弥补OOP的不足。AOP的核心思想:将应用程序的商业逻辑同对其提供的支持的通用服务进行分离。,Spring中的AOP,AOP:面向切面的编程AOP的实现原理:动态代理配置方式用AspectJ配置用XML配置,AOP的术语,切面(aspect)切面是你要实现的交叉功能。就是通知和切入点的结合。通知和切入点共同定义了关于切面的全部内容:它的功能、在何时和何地完成功能。通知(Advice)通知定义了切面是什么以及何时使用。除了描述切面要完成的工作,通知还解决了何时执行这个工作的问题。应该在一个方法被调用之前?之后?或者抛出异常时。切入点(pointcut)如果说通知定义了切面的“什么”和“何时”,那么切入点就定义了“何地”。连接点(joinpoint)连接点是应用程序执行过程中能够插入切面的地点。这些点可以是方法被调用时、异常抛出时、甚至字段被编辑时,AOP的术语,引入(Intrduction)引入允许你为已经存在的类添加新方法和属性。比如一个Auditable通知类,记录对象在最后一次被修改时的状态。只需要一个setLastModified(Date)方法,和一个实例变量来保存这个状态。这个新方法和实例变量就可以被引入到现有的类,从而在不修改它们的情况下,让他们具有新的行为和状态。目标对象(Target)目标对象是被通知的对象。代理(Proxy)代理是将通知应用到目标对后创建的对象。织入(weaving)织入是将切面应用到目标对象从而创建一个新的代理对象的过程。在目标对象的生命周期里有多个机会发生织入过程。比如编译时、类加载时、运行时。,Spring对AOP的支持,经典的基于代理的AOP(各版本Spring)AspectJ注解驱动的切面(仅Spring2.0);纯POJO切面(仅Spring2.0);注入式AspectJ切面(各版本Spring),SpringAOP的5个时间点,代理模式简介,代理模式的作用:为其他对象提供一种代理,以控制对这个对象的访问。代理模式一般设计到的角色:抽象角色:声明真实对象和代理对象的共同接口;代理角色:内部含有对真实对象的引用;真实角色:最终要引用的角色。代理分为静态代理和动态代理。,静态代理模式实例,程序结构,代码示意,SubjectRealSubjectProxySubjectClient,运行结果,静态代理模式的弊端,静态代理模式要求每个代理对象必须对应一个真实对象,在实际应用中会造成代码量的急剧增大;使用动态代理可以消除静态代理的弊端;SpringAOP的底层实现主要使用了动态代理。,动态代理类,运行时生成的类。在生成动态代理类时必须提供一组interface给它,然后该class就宣称它实现了这些interface。java动态代理类位于java.lang.reflect包下,主要包括两个:interfaceInvocationHandlerProxy,动态代理实例(选学),SubjectRealSubject,动态代理类-ProxySubject,测试类-Client,测试结果,AOP实例演示,用AOP实现用户权限判定功能程序结构图,UserDaoImpl,UserServiceImpl,核心代理类,applicationContext.xml,测试代码,目录,1两种后处理器2Spring的AOP3Spring和其他框架的整合4本讲小结,整合要点,以Spring为核心Struts中定义Action时,其class实际是应用Spring中的beanIdHibernate的配置文件可以省略,数据库相关操作放到Spring配置文件中注意Spring中bean的作用域设置,Spring的事务传播特性,PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行PROPAGATION_MANDATORY:如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。PROPAGATION_REQUIRES_NEW:总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。PROPAGATION_NOT_SUPPORTED:总是非事务地执行,并挂起任何存在的事务。PROPAGATION_NEVER:总是非事务地执行,如果存在一个活动事务,则抛出异常,目录,1两种后处理器2Spring的AOP3Spring和其他框架的整合4本讲小结,本讲小结,本讲学习了Spring的AOP原理及应用学习SSH整合的步骤多总结,多动手,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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