zoukankan      html  css  js  c++  java
  • 顾问

    顾问包装通知

    通知(advice)Spring中的一种比较简单的切面,只能将切面织入到目标类的所有方法中,而无法对指定方法进行增强

                顾问(advisor)Spring提供的另外一种切面,可以织入到指定的方法中  接口 PointcutAdvisor

    实现类:NameMatchMethodPointcutAdvisor(基于方法名称的增强顾问),RegexpMethodPointcutAdvice(基于正则表达式的增强顾问)

    新增advisor包,实现顾问的测试用例

    新建app-02.xml文件,内容如下

     

           以上文件使用的是NameMatchMethodPointcutAdvisor,当然也可替换成为 RegExpMethodPonitcutAdvisor,基于正则表达式通配方法名的顾问,可配置性更加优良。

     

            测试代码和声明式增强完全一致。

         2.6顾问代理生成器

        顾问代理生成器,当我们声明好顾问后为目标对象生成代理对象。如果项目中 存在多个代理对象的话,需要实例化许多的ProxyFactoryBean,我们可以使用顾 代理生成器来解决这个问题。  

      

            顾问代理生成器主要分两种

    • 自动顾问代理生成器:DefaultAdvisorAutoProxyCreator
    • 名称顾问代理生成器:BeanNameAutoProxyCreator

            

             继续使用advisor包,创建app-03.xml文件,新增顾问代理生成器

          class="com.cmy.service.impl.DoSomeServiceImpl"></bean>

     

       创建测试用例

       

       名称顾问代理生成器也可以替换成自动顾问代理生成器,自动顾问代理生成器默认为Spring中所有的Bean对象创建代理 无需使用ID注入

     

  • 相关阅读:
    设计模式-抽象工厂模式
    设计模式-工厂方法模式
    设计模式-单例
    java集合-补充HashMapJDK1.8
    java多线程-线程池
    java-阻塞队列
    java多线程-信号量
    java多线程-读写锁
    java多线程-锁
    Ubuntu下编译Poco库
  • 原文地址:https://www.cnblogs.com/qinzhenyu/p/11771308.html
Copyright © 2011-2022 走看看