标签:
1 什么是面向切面编程
1.1 定义 AOP 术语
通知(Advice):切面的工作被称为通知,定义了切面是什么以及何时使用(Before、After、After-returning、After-throwing、Around)。
连接点(Joinpoint):是在应用执行过程中能够插入切面的一个点,切面代码可以利用这些点插入到应用的正常流程中并添加新的行为。
切点(Pointcut):切点的定义会匹配通知所要织入的一个或多个连接点。
切面(Aspect):切面是通知和切点的结合。
引入(Introduction):引入允许向现有的类添加新方法或属性。
织入(Weaving):织入是将切面应用到目标对象来创建新的代理对象的过程。
1.2 Spring 对 AOP 的支持
Spring 通知是 Java 编写的;Spring 在运行期通知对象;Spring 只支持方法连接点。
2 使用切点选择连接点
Spring AOP 支持的 AspectJ 切点指示器:
当 Instrument 的 play() 方法执行时触发通知:
execution(* com.hundsun.idol.Instrument.play(..))
配置切点仅匹配特定包:
execution(* com.hundsun.idol.Instrument.play(..)) && within(com.hundsun.idol.*)
bean() 可以指定只匹配特定的 Bean:
execution(* com.hundsun.idol.Instrument.play(..)) and bean(kenny)
3 在 XML 中声明切面
标签:
原文地址:http://www.cnblogs.com/geb515/p/5365689.html