zoukankan      html  css  js  c++  java
  • Spring AOP Example

    文件下载:
    https://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,匹配特定实例的切入点
    

     
     
     
  • 相关阅读:
    Android MediaScanner 详尽分析
    你要清楚的东西
    Centos下搭建Apache+mysql+php
    Centos 安装MySQL全过程
    sdk platform tools is missing please user the sdk manager to install it
    尚书令
    文字
    ubuntu下mysql配置
    学习Android开发,配置环境,
    Sphinx全文索引安装教程
  • 原文地址:https://www.cnblogs.com/wucg/p/2014009.html
Copyright © 2011-2022 走看看