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内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
1. python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例2. python+excel接口自动化获取token并作为请求参数进行传参操作3. Vuex localStorage的具体使用4. docker /var/lib/docker/aufs/mnt 目录清理方法5. Python matplotlib画图时图例说明(legend)放到图像外侧详解6. 6个常见的 PHP 安全性攻击实例和阻止方法7. 《CSS3实战》笔记--渐变设计(三)8. Notepad++如何安装Python插件?Notepad++插件怎么装?9. ASP.NET泛型三之使用协变和逆变实现类型转换10. python tkinter实现下载进度条及抖音视频去水印原理

网公网安备