文件下载:
http://files.cnblogs.com/wucg/spring_aop_excise.zip

P:124 spring核心技术
P225: spring doc
可以把Advisor简单理解为一个Advice和一个Pointcut的组合.由于Advisor依赖
Pointcut来判断是否应该将切面织入到目标方法中.
几个重要的Pointcut实现:
1.NameMatchMethodPointcut
对应的类:org.springframework.aop.support.NameMatchMethodPointcutAdvisor
2.AbstractRegexpMethodPointcut : 要求匹配完整的类名和方法名,例如
namespaceName.className.methodName的一个合科条件的正则表达式 为".*methodName"
对应的类: 使用自动代理:
为了向客户端完全屏蔽目标Bean,Spring还提供了自动代理功能
1.自动为多个目标Bean实现AOP代理
2.避免客户端直接访问目标Bean Spring的自动代理功能实际上是由 BeanPostProcessor实现的.在容器载入
XML配置文件后,具有自动代理功能的BeanPostProcessor就可以修改Bean的定义了
将所有需要实现代理的目标Bean全部修改为代理Bean,而id不变. //------------------------------------
Spring提供了几种常见的实现自动代理的BeanPostProcessor.
1.BeanNameAutoProxyCreator:根据Bean的id或name属性来查找目标Bean并自动为
其代理.
2.DefaultAdvisorAutoproxyCreator:根据当前窗口中的Advisor决定每个Bean是否可 以被代理,如果可以,就自动创建代理,并自动织入所有可用的Advisor.
3.AspectJInvocationContextExposingAdvisorAutoProxyCreator:根据AspectJ的语 法规则来决定是否为一个Bean创建代理.
4.AnnotationAwareAspectJAutoProxyCreator:根据AspectJ的注解来决定 Auto Proxy:
org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator
org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator //----------------------------------------
引介(Introduction)是一种特殊类型的拦截器,和普通的Interceptor不同,引介不能 作用于任何切入点,引介只能作用于类,而非方法级, 为一个已有的类动态增加接口. //----------------------------------------
Spring支持以下几种主要的AspectJ风格的PointCut.
1. execution:匹配方法执行的切入点,这也是在Spring中最常用的切入点定义方式.
2. within,匹配特定类型的切入点
3. this,匹配特定实例的切入点

 

Spring AOP Example 文件下载:的更多相关文章

  1. 学习AOP之深入一点Spring Aop

    上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...

  2. 学习AOP之认识一下Spring AOP

    心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...

  3. spring aop

    什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将 ...

  4. spring aop注解方式与xml方式配置

    注解方式 applicationContext.xml 加入下面配置 <!--Spring Aop 启用自动代理注解 --> <aop:aspectj-autoproxy proxy ...

  5. 基于Spring AOP的JDK动态代理和CGLIB代理

    一.AOP的概念  在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的 ...

  6. Spring AOP详解

    一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnbl ...

  7. Spring AOP实例——异常处理和记录程序执行时间

    实例简介: 这个实例主要用于在一个系统的所有方法执行过程中出线异常时,把异常信息都记录下来,另外记录每个方法的执行时间. 用两个业务逻辑来说明上述功能,这两个业务逻辑首先使用Spring AOP的自动 ...

  8. 从零开始学 Java - Spring AOP 实现用户权限验证

    每个项目都会有权限管理系统 无论你是一个简单的企业站,还是一个复杂到爆的平台级项目,都会涉及到用户登录.权限管理这些必不可少的业务逻辑.有人说,企业站需要什么权限管理阿?那行吧,你那可能叫静态页面,就 ...

  9. 从零开始学 Java - Spring AOP 实现主从读写分离

    深刻讨论为什么要读写分离? 为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的.「读写 ...

随机推荐

  1. c++指针二维数组

    ; int** G; //初始化 G = new int*[N]; ; i < N; i++) G[i] = new int[N]: //删除 ; i < N; i++) delete[] ...

  2. 在linux 下为sublime Text 2 配置c#编译环境

    各位看官别笑我,在虚拟机上跑了了xp  xp里面安装了vs2008,然后电脑性能实在是太差了,所以装sublime用来编写代码,然后再统一由vs2008来调试. 说正事. 安装好sublime 之后, ...

  3. 爬虫爬取代理IP池及代理IP的验证

    最近项目内容需要引入代理IP去爬取内容. 为了项目持续运行,需要不断构造.维护.验证代理IP. 为了绕过服务端对IP 和 频率的限制,为了阻止服务端获取真正的主机IP. 一.服务器如何获取客户端IP ...

  4. NOIP2018初赛 解题报告

    前言 \(NOIP2018\)初赛已经结束了,接下来就要准备复赛了. 不过,在此之前,还是先为初赛写一篇解题报告吧. 单项选择题 送分题.(虽然我还是做错了)可以考虑将它们全部转化为\(10\)进制, ...

  5. 数组使用NSUserDefaults存储的问题,

    最近在做搜索记录的时候,由于搜索记录是存储在本地的,而且都是字符串,我考虑到数据量也不是太大,于是就懒的使用数据库了. 于是就想到了NSUserDefaults 存储的方式, 但是由于之间对于数组没有 ...

  6. 完结篇OO总结

    目录 前言 一.第四单元两次架构设计 二.架构设计及OO方法理解的演进 三.测试理解与实践的演进 四.课程收获 五.改进建议 前言 持续了17周的OO终于走向了尾声,想想寒假的时候连类都不知道是什么, ...

  7. 运维自动化之Cobbler系统安装详解

    原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期 ...

  8. angular2的生命周期钩子的使用情况

    angular 2 Directive Lifecycleangular2 中组建继承于指令,并扩展了与ui视图相关的属性.angular2 指令的生命周期是用来记录指令从创建,应用及销毁的过程.an ...

  9. HTML <input> 标签如何屏蔽浏览器的自动填写?

    autocomplete = "off",实测无效. <input type="text" autocomplete = "off"/ ...

  10. JavaScript获取时间戳与时间戳转化

    第一种方法(精确到秒): var timestamp1 = Date.parse( new Date()); 第二种方法(精确到毫秒): var timestamp2 = ( new Date()). ...