spring aop 切入依赖的jar包内的方法_Java修行第070天--AspectJ的Aop的实现

今天重点在事务

  1. AspectJ对AOP的实现

对于AOP这种编程思想,很多框架都进行了实现。Spring就是其中之一,可 以完成面向切面编程。然而,AspectJ也实现了AOP的功能,且其实现方式更为简捷, 使用更为方便,而且还支持注解式开发。所以,Spring又将AspectJ的对于AOP的实 现也引入到了自己的框架中。

在Spring中使用AOP开发时,一般使用AspectJ的实现方式。

  1. AspectJ的通知类型

AspectJ中常用的通知五种类型: 

前置通知 

后置通知 

环绕通知 

异常通知 

最终通知:无论程序执行是否正常,该通知都会执行。类似于 try..catch中finally代码块。

  1. AspectJ的切入点表达式

49e64a929388f494eb19b19c99d4d984.png

切入点表达式要匹配的对象就是目标方法的方法名。所以,execution表达式中明显就是方法 的签名。注意,表达式中加[ ]的部分表示可省略部分,各部分间用空格分开。在其中可以使 用以下符号:

089602299bc57d61b30469a0c4ecc55a.png

11. AspectJ的切入点表达式

举例:

execution(public * *(..)) 指定切入点为:任意公共方法。

execution(* set *(..)) 指定切入点为:任何一个以“set”开始的方法。

execution(* com.xyz.service.*.*(..)) 指定切入点为:定义在service包里的任意类的任意方法。 execution(* com.xyz.service..*.*(..)) 指定切入点为:定义在service包或者子包里的任意类的任意方法。“..”出现在类名中时, 后面必须跟“*”,表示包、子包下的所有类。

execution(* *.service.*.*(..)) 指定只有一级包下的serivce子包下所有类(接口)中的所有方法为切入点

execution(* *..service.*.*(..)) 指定所有包下的serivce子包下所有类(接口)中的所有方法为切入点

12.搭建AspectJ的开发环境

12.1 导入两个Jar包

983ad70c1d8a8ebd427d7179acdfd031.png

12.2 引入AOP约束

548a3a64abf61b5ed5e593186e86270f.png
  1. AspectJ对于AOP的实现有两种方式: 注解方式  XML方式
    1. 注解方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用Spring AOP需要依赖以下jar: 1. spring-aop: 核心AOP,提供了AOP的基本功能。 2. aspectjweaver: AspectJ是一个基于Java的面向切面编程框架,Spring AOP通过aspectjweaver与AspectJ集成。 3. spring-beans: 提供了Spring中的Bean管理功能。 4. spring-context: 提供了上下文(context)相关的功能,括对AOP的支持。 此外,你还需要引入Spring核心spring-core)和Spring上下文(spring-context),以支持Spring AOP的基本功能。 ### 回答2: 使用Spring AOP需要依赖以下几个核心的jar: 1. spring-core.jar:这是Spring框架的核心含了Spring中的基本功能和核心类。 2. spring-aop.jar:这个jar含了Spring AOP模块的实现代码。 3. spring-beans.jar:这个jar含了Spring中的Bean的相关功能和类。 4. aspectjrt.jar:这是AspectJ的运行时库,Spring AOP实际上是对AspectJ AOP实现的封装,因此需要使用AspectJ的运行时库。 5. aspectjweaver.jar:这是AspectJ的织入器,用于在运行时将切面织入到目标对象中。 除了以上核心的jar外,还可能需要依赖其他的jar,具体情况取决于你在使用Spring AOP时用到的功能和组件。例如,如果你使用了Spring的事务管理功能,可能还需要依赖spring-tx.jar;如果你使用了Spring的注解功能,可能还需要依赖spring-context.jar等。 总之,使用Spring AOP需要依赖jar主要spring-core.jarspring-aop.jarspring-beans.jar、aspectjrt.jar和aspectjweaver.jar,同时还可能需要依赖其他的相关jar

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值