AOP全程叫做面向切面变成,为解耦而生的
它有几个核心的概念?
1.切面:指关注点模块化,这个关注点可能会横切多个对象
2.切点:
3.引入
4.目标对象
5.AOP代理:在spring中,aop代理可以是jdk动态代理或CGLIB代理
6.织入:
任何一个系统都是由不同的组件组成的,每个组件负责一块特定的功能,当然会存在很多组件是跟业务无关的,.例如日志,事物,权限等核心服务组件.我们可以把这些公共的代码逻辑抽象出来变成一个切面,然后注入到具体业务中去,会方便很多,aop就是基于这样一个思路实现的,通过动态代理的方式,将需要注入切面的对象进行代理,在进行调用的时候,将公共的逻辑直接添加进去,而不需要修改原有业务的逻辑代码,只需要在原来的业务逻辑基础上做一些增强功能即可