AOP即面向切面编程。
AOP中一些难以理解的概念:
引用
JoinPoint(连接点): 它定义在哪里(哪些点)加入你的逻辑功能,对于Spring AOP,Jointpoint指的就是Method.
引用
PointCut(切入点的集合):即一组Joinpoint,(通过正则表达式去匹配)就是说一个Advice可能在多个地方织入。
例如: @Pointcut("execution(* com.xyz.someapp.service.*.*(..))")
public void businessService() {}
返回值是任何类型,com.xyz.someapp.service下面的任何类的任何方法
引用
Aspect(切面): 实际是Advice和Pointcut的组合,但是Spring AOP 中的Advisor也是这样一个东西,但是Spring中为什么叫Advisor而不叫做Aspect。
(个人理解:两条不平行的线确定一个面,即Advice和Pointcut)
切面类里有好多方法,可以加到被代理对象上。
引用
Advice(通知):所谓通知是指拦截到jointpoint之后所要做的事情就是通知即特定的Jointpoint处运行的代码。
对于Spring AOP 来讲,通知分为前置通知(Before advice)、后置通知(AfterreturningAdvice)、
异常通知(ThrowAdvice)、最终通知(AfterThrowing)、环绕通知(AroundAdvice)。
引用
Target(目标对象):代理的目标对象即被通知的对象。
引用
Weave(织入): 指将aspects应用到target对象并导致proxy对象创建的过程称为织入
Introducton(引入):在不修改类代码的前提下,Introduction可以在运行期为类动态地添加一些方法或Field 。
在applicationContext.xml中使用<aop>,要想自动提示,需要手动去加入.
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
两种方式启用@Aspect支持:
1、在Spring配置文件中引入下列元素来启用Spring对@Aspect的支持。
<aop:aspectj-autoproxy />
2、在ApplicationContext.xml中添加如下定义来启用@Aspect支持。
<bean class="org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator" />
织入语法:
execution(public * *(..)) --任何类的任何方法
execution(* com.xyz.service..*.*(..)) --service包下面不管多少层的任何方法 ..代表任何层
分享到:
相关推荐
Spring AOP面向方面编程原理:AOP概念,主要介绍面向对象的概念及原理,及作者的一些理解。
NULL 博文链接:https://quicker.iteye.com/blog/670885
描述:AOP 概念、AOP 种类、Spring AOP 代理原理等
SPRING_AOP_概念解析以及例子示范
何谓Spring AOP? Spring AOP 是基于 AOP 编程模式的一个框架,它的...课程从Spring AOP概念开始引入,通过Spring AOP代理和判断模式进行,宝库各种模式,不断的深入学习,相信会给同学们带来不一样的Spring AOP技术
。
。
NULL 博文链接:https://zhangyulong.iteye.com/blog/857431
非常详细的介绍Spring AOP全栈技术点,开篇帮助同学们进行知识储备,...从Spring AOP概念开始引入,通过Spring AOP代理和判断模式进行,宝库各种模式,不断的深入学习,相信会给同学们带来不一样的Spring AOP技术体验。
Spring AOP精讲 AOP概念 让我们从定义一些重要的AOP概念开始。
主要对Spring AOP的相关概念和简单的静态代理、动态代理以及常见的几种AOP配置方式做总结学习。主要包括:1. AOP的常见概念 2. 静态代理 3. jdk动态代理 4. Aspectj and Aspectjweaver 5. **aop-config** 6. CGLIB ...
1、了解AOP的概念和作用; 2、理解AOP中的相关术语; 3、了解Spring中两种动态代理方式的区别; 4、掌握基于XML和注解的AspectJ开发。 二、 实验内容 1、按图所示的类图结构,设计接口及其实现类,并完成另外两附加...
1、 理解Spring AOP原理和基本概念; 2、掌握基于XML/注解方式的AOP编程; 二:实验内容 1、 定义交易接口: public interface Transaction{ public void income(float amount);//收入 public void expenditure...
这两种代理方式在Spring AOP中起到关键作用,用于实现横切关注点的切面编程。通过学习它们的原理和实际应用,您将能够更好地理解和利用Spring AOP来提高您的应用程序的可维护性和可扩展性。 内容亮点: JDK动态...
使用mindmaster打开
spring入门学习-5、AOP概念及特点.pdf
从Spring5-AOP的概念->底层原理->相关术语->AOP操作(AspectJ注解)->AOP操作(AspectJ配置文件)说明AOP的相关笔记
Spring framework是很有前途的AOP技术。作为一种非侵略性的,轻型的AOP framework,你无需使用预编译器或其他的元标签,便可以在Java程序中使用它。这意味着开发团队里只需一人要对付AOP framework,其他人还是象...
Spring容器简介——AOP AOP核心概念 Spring AOP的使用 Spring AOP常见用法 示例代码
SpringAOP概念拓展: 73 之前实现了目标方法的动态调用,现在来实现切面的动态调用。 74 4.2.2 AOP实现的两种模式 78 4.2.2.1 xml形式 78 XML形式拓展: 81 异常通知处理例子: 91 不用spring异常通知,另一种处理...