精华内容
下载资源
问答
  • AOP 术语

    2018-09-14 21:37:28
    Joinpoint(连接点): 所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持方法类型的 连接点。 Pointcut(切入点): ...所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义。...

     

    Joinpoint(连接点):

    所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持方法类型的

    连接点。

    Pointcut(切入点):

    所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义。

    Advice(通知/增强):

    所谓通知是指拦截到 Joinpoint 之后所要做的事情就是通知。

    通知的类型: 前置通知,后置通知,异常通知,最终通知,环绕通知。

    Introduction(引介):

    引介是一种特殊的通知在不修改类代码的前提下, Introduction 可以在运行期为类动态地添加一些方

    法或 Field。

    Weaving(织入):

    是指把增强应用到目标对象来创建新的代理对象的过程。

    spring 采用动态代理织入,而 AspectJ 采用编译期织入和类装载期织入。

    Aspect(切面):

    是切入点和通知的结合

     

    小结:

    切入点表达式:通过切入点表达式,可以拦截指定的方法,对指定方法所在的类生成代理对象。

    切面: 重复执行的代码所在的类(TransactionManager)

    通知: 切面类中的方法(beginTransaction….)

     

     

    展开全文
  • 查阅了很多关于AOP术语的解释,专业词汇太多,太绕脑,实在让人能在很快的时间内理解,这段时间看了某教程,那老师讲的个人觉得太好了,通俗易懂,下面让我分享一下吧! 1.连接点(JoinPoint) 连接点:类里面...

    查阅了很多关于AOP术语的解释,专业词汇太多,太绕脑,实在让人能在很快的时间内理解,这段时间看了某教程,那老师讲的个人觉得太好了,通俗易懂,下面让我分享一下吧!

    1.连接点(JoinPoint)

    连接点:类里面哪些方法可以被增强,这些方法就称为连接点,如Orders类中所有的方法都可以被增强那么这些方法就叫连接点

    2.切入点(Pointcut)

    切入点:实际上被增强的方法,如Orders中所有的方法都可以被增强,但我只对stock()方法进行了增强,那么stock()方法就叫切入点。

    3.通知(Advice)

    通知:实际增强的逻辑部分。

    4,切面(Aspect)

    切面:把通知应用到切入点的过程,它时一个动作。

     

    展开全文
  • AOP术语

    2019-01-29 20:30:46
    下面来说一些AOP的一些术语 Joinpoint:连接点,能被拦截到的点。简单的说就是能被增强的点/能被扩展的点。 Pointcut:切入点,被拦截到的点。简单的说就是在开发中增强了的点。 Advice:通知是切面的一种实现,可以...

    下面来说一些AOP的一些术语

    Joinpoint:连接点,能被拦截到的点。简单的说就是能被增强的点/能被扩展的点。
    Pointcut:切入点,被拦截到的点。简单的说就是在开发中增强了的点。
    Advice:通知是切面的一种实现,可以完成简单的织入功能。通知定义了增强代码切入到目标代码的时间点,是目标方法执行之前执行,还是执行之后执行等。切入点定义切入的位置,通知定义切入的时间。(方法层面)
    Target:被增强的对象
    Weaving:织入,Advice到Target的过程。代理的invoke方法完成的工作。
    Proxy:代理对象
    Aspect:切面,多个通知和多个切入点的组合
    展开全文
  • 1.AOP简介 1.AOP (面向切面编程):是一种新的方法论,是对传统OOP(面向对象编程)的补充 2.AOP 的主要编程对象是切面(aspect),而切面模块化横切关注点 3.在应用AOP编程时,任然需要定义公共功能,但可以明确...

    1.AOP简介

    1.AOP (面向切面编程):是一种新的方法论,是对传统OOP(面向对象编程)的补充 
    2.AOP 的主要编程对象是切面(aspect),而切面模块化横切关注点
    3.在应用AOP编程时,任然需要定义公共功能,但可以明确的定义这个功能在哪儿,以什么方式应用,并且不必修改受影响的类,这样以来横切关注点就被模块化到特殊的对象(切面)里。
    4.AOP好处:
    	1.每个事务逻辑位于一个位置,代码不分散,便于维护升级
    	2.业务模块更简洁,只包含核心业务代码
    例如加减乘除的逻辑
    	1.代理对象:业务逻辑
    		加:验证参数,前置日志,add(),后置日志
    		减:验证参数,前置日志,sub(),后置日志
    		乘:验证参数,前置日志,mul(),后置日志
    		除:验证参数,前置日志,div(),后置日志
    	抽取横切关注点↓		AOP↑		
    	2.验证:验证参数	切面	3.日志:前置日志,后置日志
    	4.目标对象:业务逻辑(add(),sub(),mul(),div())
    

    2.AOP术语

    1.切面(Aspect):横切关注点(跨越应用程序多个模块的的功能)被模块化的特殊对象
    2.通知(Advice):切面必须要完成的工作
    3.目标(Target):被通知的对象
    4.代理(Proxy):向目标对象应用通知之后创建的对象
    5.连接点(Joinpoint):程序执行的某个特定位置:如类某个方法调用前,调用后,方法抛出异常后等。连接点由两个信息确定:方法表示的程序执行点;相对点表示的方位。例如ArithmeticCalculator#add()方法执行前的连接点,执行点为ArithmeticCalculator#add();方位为该方法执行前的位置
    6.切点(pointcut):每个类拥有多个连接点;例如ArithmeticCalculator的所有方法实际上都是连接点,即连接点是程序类中客观存在的事务。AOP通过切点定位到特定的连接点。类比:连接点相当于数据库中的记录,切点相当于查询条件。切点和连接点不是一对一关系,一个切点匹配多个连接点,切点通过org.springframework.aop.Pointcut接口进行描述,它使用类和方法作为连接点查询条件
    

    3.Spring AOP

    1.AspectJ:java社区里最完整最流行的AOP框架
    2.在Spring2.0以上版本中,可以使用基于Aspectj注解或基于XML配置的AOP
    在Spring中启用Aspect注解支持
    	1.要在Spring应用中使用Aspectj注解,必须在classpath下包含Aspectj类库:aopalliance.jar,aspectj.weaver.jar和spring-aspects.jar
    	2.将aop Scheme添加到<beans>根元素中
    	3.要在SpringIOC容器中启用Aspectj注解支持,只要在Bean配置文件中定义一个空的XML元素<aop:aspectj-autoproxy>
    	4.当SpringIOC容器侦测到Bean配置文件中的<aop:aspectj-autoproxy>元素时,会自动为Aspectj切面匹配的Bean创建代理
    
    3.1用AspectJ 注解申明切面
    1.要在Spring中shengmingAspect切面,只要在IOC容器中将切面声明为Bean实例。当在SpringIOC容器中初始化Aspectj切面之后,SpringIOC容器就会为那些与Aspectj切面相匹配的Bean创建代理
    2.在Aspectj注解中,切面只是一个带有@Aspect注解的java类
    3.通知是标注有某种注解的简单的java方法
    4.Aspectj支持5种类型的通知注解
    	1.@Before:前置通知,在方法执行之前执行
    	2.@After:后置通知,在方法执行之后执行
    	3.@AfterReturning:返回通知,在方法结果之后执行
    	4.@AfterThrowing:异常通知,在方法抛出异常之后
    	6.@Around:环绕通知,围绕着方法执行
    
    流程
    1.加入jar包
    	com.springsource.net.sf.cglib-2.2.0.jar
    	com.springsource.org.aopalliance-1.0.0.jar
    	com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
    	spring-aspects-4.3.10.RELEASE.jar
    2.在Spring的配置文件中加入aop的命名空间(aop,context)
    3.基于注解的方式来使用AOP
    	1.在配置文件中配置自动扫描的包	<context:component-scan base-package="com.hp.test"></context:component-scan>
    	2.加入使Aspectj注解起作用的配置<aop:aspectj-autoproxy></aop:aspectj-autoproxy>为匹配的类自动生成代理对象
    4.编写一个切面类
    	1.一个一般的Java类
    	2.在其中添加要额外实现的功能(日志,验证……)
    5.配置切面
    	1.必须是IOC中的bean:实际添加了@Component注解
    	2.声明一个切面:添加@Aspect
    	3.声明通知:即额外加入功能对应的方法
    		1.前置通知:@Before("execution(public int com.hp.test.ArithmeticCalculator.*(int,int))")
    		@Before表示在目标方法之前执行@Before标记的方法的执行体
    		@Before里面是切入点表达式
    6.在通知中访问连接细节:可以再通知方法中添加JoinPoint类型的参数,从中可以访问到方法签名和方法的参数
    7.@After表示后置通知:在方法执行之后执行的代码(即使方法抛出异常,后置通知也会执行)
    
    展开全文
  • AOP的作用:在程序运行期间,不改变源码对已有方法进行增强 优势: 减少重复代码 提高开发效率 维护方便 AOP的实现方式:动态代理 连接点:业务层中的所有方法都是连接点 切入点:业务层中被动态代理增强的...
  • Spring AOP术语图解动画 1业务流程 介绍业务流程以Web工程为例 1业务流程 2Cross-cutting Concern 3Aspect 切面 4Advice增强 5Joinpoint和Pointcut 6Weave过程 6Weave过程
  • AOP术语、SpringAOP

    2021-08-09 22:33:05
    AOP术语、SpringAOPAOP中的相关术语SpringAOP中的实现Spring对AOP的支持示例切点表达式、切点切面增强通知织入目标对象结果 AOP中的相关术语 官方 Aspect: A modularization of a concern that cuts across ...
  • AOP术语和流程

    2020-02-23 10:27:24
    AOP术语和流程 连接点(join point):对应的是具体被拦截的对象,因为spring只能支持方法,所以被拦截的对象往往就是特定的方法。 切点(point cut):有时候,我们的切面不单单应用于单个方法,也可能是多个类的不同...
  • Spring-AOP术语

    2020-02-07 00:50:48
    Spring AOP那些学术概念—通知、增强处理连接点(JoinPoint)切面(Aspect) 个人觉得在通知(Advice)中,加上这张图会好点
  • Spring AOP 术语介绍

    2020-04-01 11:08:03
    AOP术语中,切面的工作被称为通知。 通知定义了切面是什么以及何时使用。除了描述切面要完成的工作,通知还解决了何时执行这个工作的问题。它应该应用在某个方法被调用之前?之后?之前和之后都调用?还是只在 ...
  • Spring AOP 术语

    2018-11-13 14:53:31
  • AOP(Aspect Oriented Programming)面向切面编程,一堆专业术语真让人发憷,尤其是连接点、切点、切面这三个概念,这篇文章我就用通俗易懂方法解释下各个术语要表达的意思。 1、通知: 就是你想要加入的非业务代码,...
  • AOP是Aspect Oriented Programing的简称,被译为“面向切面编程”。 AOP独辟蹊径通过横向抽取机制为...AOP术语如下: 1:连接点(Joinpoint) 程序执行的某个特定位置:如类开始初始化前,类初始化后,类某个方法...
  • Spring之AOP术语

    千次阅读 2014-06-22 14:59:38
    AOP是Aspect Oriented Programing的简称,被译为“面向切面编程”。 AOP独辟蹊径通过横向抽取机制为这类无法通过纵向继承体系进行抽象的重复性代码提供了解决方法。如何将这些独立的逻辑融合到业务逻辑中完成和原来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,404
精华内容 6,161
关键字:

aop术语