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

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

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

  实例:

    DOSomeService接口:

      顾问

    DoSomeServiceImpl实现类:

      顾问

    BeforAdvice增强类:

      顾问

    application-advisor.xml文件:

      顾问

    测试:

      顾问

    结果:

      顾问

顾问代理生成器 

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

  自动顾问代理生成器 

    实例: 

      IService接口:

        顾问

      IServiceImpl实现类:

        顾问

      Advisor增强类:

        顾问

      applicationContext-advisor.xml文件:  

        顾问

      测试:

        顾问

      结果:

        顾问

  名称顾问代理生成器

      IService接口:

        顾问

      IServiceImpl实现类:

        顾问

      UserServiceImpl实现类:

        顾问

      Advisor增强类:

        顾问

      applicationContext-advisor.xml文件:

        顾问

      测试:

        顾问

      结果:

        顾问

 

相关文章:

  • 2021-10-20
猜你喜欢
  • 2022-12-23
  • 2021-11-18
  • 2021-12-28
  • 2022-02-19
相关资源
相似解决方案