面向切面编程的目的就是:在不改变别人的代码的前提下,在别人代码方法执行前或后,执行(切入自己的逻辑)
准备: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的路径

aop面向切面编程(aspectJweaver)相关推荐

  1. 【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )

    文章目录 一.AspectJ 下载 二.拷贝 aspectjrt.jar 到 Android Studio 三.配置 Gradle 和 Gradle 插件版本 四.配置 Gradle 构建脚本 一.A ...

  2. 大数据WEB阶段Spring框架 AOP面向切面编程(一)

    Spring - AOP面向切面编程(一) 一.代理模式概述 代理的特点:(目标对象即被代理者) 实现和目标对象相同的接口 具备和目标对象的方法 代理者不仅要做目标对象的方法 , 还要做一些额外的操作 ...

  3. Springboot 一文搞懂AOP面向切面编程

    Springboot AOP面向切面编程 AOP简介 AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构. 作用:在不惊动原始设计的 ...

  4. Java绝地求生—Spring AOP面向切面编程

    Java绝地求生-Spring AOP面向切面编程 背景 动态代理 构建被代理对象 自动生成代理 调用动态代理 Spring方法 方式一:使用Spring的API接口 方式二:使用自定义类 方式三:使 ...

  5. java aop面向切面编程

    最近一直在学java的spring boot,一直没有弄明白aop面向切面编程是什么意思.看到一篇文章写得很清楚,终于弄明白了,原来跟python的装饰器一样的效果.http://www.cnblog ...

  6. 【AOP 面向切面编程】Android Studio 使用 AspectJ 监控方法运行原理分析

    文章目录 一.查看使用 AspectJ 后生成的 Class 字节码类 二.AspectJ 的本质 一.查看使用 AspectJ 后生成的 Class 字节码类 在 Android Studio 中查 ...

  7. 【AOP 面向切面编程】AOP 简介 ( AspectJ 简介 | AspectJ 下载 )

    文章目录 一.AOP 简介 二.AspectJ 简介 三.AspectJ 下载 一.AOP 简介 AOP 是 Aspect Oriented Programming 的缩写 , 面向切面编程 ; 利用 ...

  8. 切面是异步还是同步操作‘_Autofac的AOP面向切面编程研究

    什么是AOP: 我的理解是 把系统性的编程工作封装起来 =>我给这个取个名字叫 "Aspect",然后通过AOP技术把它切进我们的业务逻辑代码 => "业务& ...

  9. Javascript aop(面向切面编程)之around(环绕)

    Aop又叫面向切面编程,其中"通知"是切面的具体实现,分为before(前置通知).after(后置通知).around(环绕通知),用过spring的同学肯定对它非常熟悉,而在j ...

  10. 大数据WEB阶段Spring框架 AOP面向切面编程(二)

    Spring AOP面向切面编程(二) 一.切入点的execution表达式 execution的表达形式: execution(修饰符? 返回值类型 所在包类? 方法名(参数列表) 异常?) ?表示 ...

最新文章

  1. Elasticsearch 查询数据的工作原理是什么?
  2. 嘉兴新型智慧城市建设带来的三个问号
  3. oracle迁移到mysql工具_oracle数据库想迁移到mysql上 有什么方法或者工具吗
  4. 按之字形顺序打印二叉树
  5. 什么是SQL Server中的数据库规范化?
  6. 23种设计模式类图总结
  7. 如何在 Mac 中更改文件夹图标,换上喜欢的图像 Icon?
  8. Linux进程的管理与调度(七) -- Linux下2号进程的kthreadd
  9. 计算机excel图表y轴怎么改,excel图表横坐标轴修改?excel图表里,请问怎么设定X,Y轴...
  10. 倾斜摄影——3维建模软件PhotoScan教程(附安装包+教学视频)
  11. 深度学习Tir-Hi3559A使用unbuntu系统的烧写步骤
  12. 【专利】如何画专利结构图纸
  13. [AV1] interpolation
  14. rk3288 8080lcd时序分析和TFT-RGB接口
  15. 把照片做成计算机符号,把家驹的照片做成了符号的形式
  16. 以太坊源码分析之 P2P网络(五、p2p连接控制与消息处理(中))
  17. can not access a member of class xxx with modifiers “private“
  18. 关于ARM Kinetis MCU唤醒源NVIC和AWIC的工作过程解惑
  19. ajax获取涨停股票接口,涨停技术-教你如何捕捉涨停版(绝对经典)
  20. layui快速学习(一)form表单元素

热门文章

  1. 转载:编译原理三大圣书——龙书、虎书、鲸书
  2. 前端常见的安全问题及防范措施
  3. VMware中安装linux系统(可视化界面centOS 7)
  4. QCC高通烧录驱动安装方法
  5. 源码编辑器怎么编出游戏_编辑游戏
  6. 一部电影晓生活-韩国
  7. Ffmpeg常用转码命令
  8. 替代NXP的CLRC663国产芯片来了,再也不用被老外卡脖子了
  9. 2021年认证杯-数学建模
  10. 阿酷三合一版_3dmax阿酷插件