
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
面向切面编程开发随着互联网的不断发展而被越来越多的程序员掌握并应用到许多软件开发项目之中,而本文我们就简单来了解一下,面向切面编程概念都有哪些。
1、什么是AOP
AOP即AspectOrientedProgramming,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。
利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
说人话:要在我们的功能中加一些功能,而不直接修改修改源代码的前提下,为了降低耦合性,就用AOP的方式实现。如:日志。
AOP使用的技术原理主要是jdk的动态代理和cglib修改字节码两种方式。
2、在AOP中有六个概念
Joinpoint(连接点):在系统运行之前,AOP的功能模块都需要织入到具体的功能模块中。要进行这种织入过程,我们需要知道在系统的哪些执行点上进行织入过程,这些将要在其之上进行织入操作的系统执行点就称之为Joinpoint,常见的Joinpoint就是方法调用。
Pointcut(切点):用于指定一组Joinpoint,代表要在这一组Joinpoint中织入我们的逻辑,它定义了相应Advice将要发生的地方。通常使用正则表达式来表示。对于上面的例子,Pointcut就是表示“所有要加入日志记录的接口”的一个“表达式”。例如:“execution(com.joonwhee.open.demo.service...*(..))”。
Advice(通知/增强):Advice定义了将会织入到Joinpoint的具体逻辑,通过@Before、@After、@Around来区别在JointPoint之前、之后还是环绕执行的代码。
Aspect(切面):Aspect是对系统中的横切关注点逻辑进行模块化封装的AOP概念实体。类似于Java中的类声明,在Aspect中可以包含多个Pointcut以及相关的Advice定义。
Weaving(织入):织入指的是将Advice连接到Pointcut指定的Joinpoint处的过程,也称为:将Advice织入到Pointcut指定的Joinpoint处。
Target(目标对象):符合Pointcut所指定的条件,被织入Advice的对象。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。