什么是AOP?
Aspect Oriented Programming面向切面编
程,它可以在不修改原代码的情况下增加新的
功能或者扩展原有的功能。AOP关注的重点在
切面上,可以通过配置手段将切面切入到对应
的位置。这样组件和组件之间的耦合度会降低
并且可以提供组件的复用度,提高程序的灵活
性。
AOP中涉及到的概念
1、Aspect(切面):
切面是用来封装共通业务逻辑的,JoinPoint
(连接点) :代表切入的位置一般代表一个方法
信息,Pointcut (切点) :用来管理连接点的代
表一堆连接点,可以看成连接点的集合(会使
用表达式表达简称切点表达式)。
2、Target(目标):
将被切入共通业务逻辑的组件叫目标对象,
Proxy (代理) :被增强之后的目标组件叫代理
(代理的生成技术有JDK代理和CGLIB ),
Advice9 (通知) :代表一种时机(方法执行前、
方法执行后、方法执行前后出现异常,最终要
执行核心:切面–通知–切点)。