已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深入使用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 总是非事务地执
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术更新换代推进工作指南
- 2026春季中国南水北调集团新能源投资有限公司校园招聘备考题库及答案详解(必刷)
- 2026四川绵阳游仙区人民医院招聘五官科医师、护士岗位2人备考题库及完整答案详解1套
- 2026贵州黔南州企事业单位人才引进268人备考题库含答案详解(完整版)
- 2026广西防城港东兴市妇幼保健院招聘工作人员14人备考题库含答案详解(a卷)
- 2026四川绵阳经开区定向招聘社区专职工作者6人备考题库含答案详解(精练)
- 2026航天科工集团数字技术有限公司部分岗位招聘11人备考题库及答案详解1套
- 2026浙江杭州市上泗中学诚聘初中语文、数学、英语、科学、社会教师(非事业)备考题库及答案详解(基础+提升)
- 2026四川成都成华区府青路社区卫生服务中心招聘编制外工作人员的2人备考题库及一套参考答案详解
- 2026广东深圳宝安区石岩湖泮轩幼儿园短期招聘1人备考题库含答案详解(培优a卷)
- JB T 8729-2013液压多路换向阀
- 高等学校英语应用能力考试(B级)强化训练全套教学课件
- 《病理学与病理生理学》电子教案
- 地下水监测井建设规范
- 全国优质课一等奖高中物理必修一《曲线运动》课件
- 军人申请病退评残医学鉴定审查表
- 肛门和直肠畸形-小儿外科学课件
- 多产权建筑消防安全管理
- 岳飞《满江红写怀》课堂实用课件
- 2023年05月2023年广东中山市文化广电旅游局所属事业单位(孙中山故居纪念馆)招考聘用笔试历年高频试题摘选含答案解析
- 2023年05月中山市文化广电旅游局所属事业单位(中山市文化馆)公开招考1名事业单位人员笔试题库含答案解析
评论
0/150
提交评论