Java aop面向切面编程(aspectJweaver)案例详解

面向切面编程的目的就是:在不改变别人的代码的前提下,在别人代码方法执行前或后,执行(切入自己的逻辑)
准备:idea+maven+aspectjweaver-1.8.9.jar
结构图:

Java aop面向切面编程(aspectJweaver)案例详解_第1张图片

pom.xml内容

 
        
                org.aspectj
                aspectjrt
                1.8.9
        
        
            org.aspectj
            aspectjtools
            1.8.9
        
        
            org.aspectj
            aspectjweaver
            1.8.9
        
    
    
        
            
                org.codehaus.mojo
                aspectj-maven-plugin
                
                    
                        
                            compile
                        
                    
                
                
                    1.8
                    1.8
                    1.8
                    src/main/java
                
            
        
    

切面类

  public aspect Staspect {

    public pointcut kkMethod(): execution(public String aop.Test.kk());
    before(): kkMethod() {
        System.out.println("先执行我");
    }
}

主类

public class Test {
    public String kk(){
        return "23";
    }
    public static void main(String[] args) {
        Test test=new Test();
        System.out.println(test.kk());

    }
}

新建一个aop.xml(在META-INFO文件夹下)



    
        
    
    

打jar包,执行命令:mvn clean package
注意我的结构图,classes下面如果有两个类就是编译成功了
挑出jar包,执行命令:
java -javaagent:/home/admin/aspectjweaver-1.8.9.jar -classpath aspecttest-1.0-SNAPSHOT.jar aop.Test

注意:-javaagent后面的参数是你电脑aspectjweaver-1.8.9.jar的路径

到此这篇关于Java aop面向切面编程(aspectJweaver)案例详解的文章就介绍到这了,更多相关Java aop之aspectJweaver内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Java aop面向切面编程(aspectJweaver)案例详解)