zoukankan      html  css  js  c++  java
  • 【spring】基于AspectJ的AOP

    扩展:spring aop的四种实现方式

    1、spring aop的核心实现技术在所有版本中都一样:动态代理

    2、spring aop框架中,支持用AspectJ注解编写的POJO aspect,但有限制,spring只允许aspect应用到IoC容器声明的bean。如果希望应用到这个范围之外,就必须使用AspectJ框架。

    使用AspectJ:

    1、在配置文件中添加

    <aop:aspectj-autoproxy><aop:aspectj-autoproxy proxy-target-class="true">

    2、编写一个aspect,也就是一个用@Aspect注解标注的类class

    import org.aspectj.lang.annotation.Aspect;
    import org.aspectj.lang.annotation.Before;
    
    @Aspect
    public class BeforeExample {
    
      @Before("com.xyz.myapp.SystemArchitecture.dataAccessOperation()")
      public void doAccessCheck() {
        // ...
      }
    
    }

    3、然后在xml文件中配置这个bean,只要声明是个bean就行

    <bean class="org.xxx.BeforeExample">

    过程和思想都很简单。不需要其他类或业务逻辑怎么样了,就专心编写一个的类,标注上@Aspect和其他标注,在xml中配置上这类,就成了一个横向的切面(类),它的方法能横切到特定的其他类中。

  • 相关阅读:
    algorithm 使用经验
    Overload, Override and Overwrite ( copy)
    stl sort使用经验
    list 删除制定元素
    php常用技巧
    php 日历源码
    stl smart指针
    一道华为笔试题 ,内存相关
    stl list使用。(转)
    List 使用经验
  • 原文地址:https://www.cnblogs.com/549294286/p/3020548.html
Copyright © 2011-2022 走看看