网站大量收购独家精品文档,联系QQ:2885784924

[计算机软件及应用]SpringAOP2.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]SpringAOP2

上节回顾 什么是AOP? AOP中涉及的概念? 切入点、切面、advice、目标对象、 weaving 一个AOP实现的步骤? 小案例 吃东西,喝东西 吃东西之前洗手 吃东西之后刷牙 上节回顾 说出下面标记的作用。 bean id=ProxyFactoryBean class=org.springframework.aop.framework.ProxyFactoryBean property name=“proxyInterfaces”//目标接口类 valuecom.dn.lesson.IService/value /property property name=“target”//目标类 ref bean=myservice/ /property property name=“interceptorNames”//advice实现类 list valuelogAdvice/value /list /property /bean 本章目标 对不同的方法应用切面程序 Introduction(引入) Advisor Advice:切面的具体实现 Advisor:切面的具体实现者 对不同的方法应用切面程序 使用PointCut Advisor来实现 Pointcut、Advisor 可以定义更细致的织入时机 Pointcut定义了Advice的应用时机 在Spring中,使用PointcutAdvisor将Pointcut和Advice结合成为一个对象,Spring内建的Pointcut都有对应的PointcutAdvisor。 具体举例 按原来的方法,每个方法在执行里,都会执行两个切面 那如何实现为某个方法指定哪个切面呢? PointCut Advisor的分类 1、NameMatchMethodPointcutAdvisor 按方法名字进行匹配 2、RegexpMethodPointcutAdvisor (不常用) 按正则表达式进行匹配 NameMatchMethodPointcutAdvisor 功能:按方法的名称进行切入。 使用方法: 在配置文件中使用: 直接注入NameMatchMethodPointcutAdvisor类 所属包 《bean id=“myadvice” class=“” 配置属性如下: mappedName value 目标的 短方法名 匹配,可以使用通配符或mappedNames list value advice ref = 已注入的 Advice实现类。 修改已注入的ProxyFactoryBean的属性interceptorNames list值为 上面注入的PointcutAdvisor 使用时:获取ProxyFactoryBean,强转为接口使用。如果访问的方法符合PointcutAdvisor中mappedName的匹配,则切入Advice实现类的方法。 具体步骤 1、新增一个系统bean的定义 bean id=nameMatchMethodPointcutAdvisor class=org.springframework.aop.support.NameMatchMethodPointcutAdvisor property name=mappedName value*User/value /property property name=advice ref bean=authAdvice2 / /property /bean 2、修改配置文件中ProxyFactoryBeanMethod代理类的配置 property name=interceptorNames list valuenameMatchMethodPointcutAdvisor/value valuenameMatchMethodPointcutAdvisor1/value /list /property 2、RegexpMethodPointcutAdvisor (不常用) 同NameMatchMethodPointcutAdvisor,唯一的区别是它使用正则匹配 完整方法名称,而非短方法名 匹配。 . 任意单一字符 + 一次/多次 * 零次/多次 \ 转义 配置文件: 直接注入RegexpMethodPointcutAdvisor,配置属性如下: pattern value 匹配方法名称的正则表达式(注意方法名可能很长 因为包含包名和类名) 或 patterns list value advice 引用 已注入的 Advice实现类。 核心代码 1..注入RegexpMethodPointcutAdvisor类 bean id=RegexpMethodPointc

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档