Java aop面向切面编程(aspectJweaver)案例详解
面向切面编程的目的就是:在不改变别人的代码的前提下,在别人代码方法执行前或后,执行(切入自己的逻辑)
准备:idea+maven+aspectjweaver-1.8.9.jar
结构图:
pom.xml内容
<dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.8.9</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>1.8.9</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.9</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <executions> <execution> <goals> <goal>compile</goal> </goals> </execution> </executions> <configuration> <complianceLevel>1.8</complianceLevel> <source>1.8</source> <target>1.8</target> <aspectDirectory>src/main/java</aspectDirectory> </configuration> </plugin> </plugins> </build>
切面类
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文件夹下)
<?xml version="1.0" encoding="UTF-8" ?> <aspectj> <aspects> <aspect name="aop.Staspect"/> </aspects> <weaver options="-XaddSerialVersionUID"></weaver> </aspectj>
打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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Mybatis代码生成器Mybatis Generator(MBG)实战详解
本文我们主要实战Mybatis官方的代码生成器:Mybatis Generator(MBG),掌握它以后,可以简化大部分手写代码,我们只需要写复杂逻辑代码,需要的朋友可以参考下2023-05-05SpringBoot使用Spring Test进行集成测试的流程步骤
Spring Test 是 Spring Framework 提供的一个测试框架,它可以帮助我们进行集成测试,在本文中,我们将介绍如何使用 Spring Test 进行集成测试,需要的朋友可以参考下2023-06-06基于java springboot + mybatis实现电影售票管理系统
这篇文章主要介绍了基于java springboot + mybatis实现的完整电影售票管理系统基于java springboot + mybatis,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-08-08
最新评论