面向切面的Spring学习一
一.基本介绍
在软件开发中,散布于应用中多处的功能被称为横切关注点(crosscutting concern)。
我们把这些横切关注点与业务逻辑相分离的编程过程称之为面向切面编程(AOP)。
在前面我们学习了依赖注入的目的是实现应用对象的解耦,同样,AOP的目的也是实现横切关注点和它们所影响的对象之间的解耦,来方便我们的开发过程。
二.什么是面向切面编程(AOP)?
一.什么是切面?
面向切面编程时,我们仍然在一个地方定义通用功能,但我们却可以通过声明的方式定义这个功能以何种方式在何处应用而无需修改受影响的类。也就是说横切关注点可以被模块化在一个特殊的地方,这些类我们称之为切面(aspect)。
二.AOP术语学习
1.通知(advice):定义了切面是什么以及何时使用。
2.切点(pointcut):指定切面的作用位置。
3.连接点(join point):我们的应用可能有很多的时机应用通知,这种时机被称为连接点。
4.切面(Aspect):切面是通知和切点的结合,通知和切点共同定义了切面的全部内容—-它是什么,在何时何处完成其功能。
5.织入(weaving):织入是把切面应用到目标对象并创建新的代理对象的过程。
下图展示了它们之间的关系:

浙公网安备 33010602011771号