码迷,mamicode.com
首页 > 编程语言 > 详细

<Spring实战>4:面向切面的Spring

时间:2016-04-07 22:13:01      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

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 切点指示器:

  • arg()
  • @args()
  • execution()
  • this()
  • target()
  • @target()
  • within()
  • @within()
  • @annotation

当 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 中声明切面

 

<Spring实战>4:面向切面的Spring

标签:

原文地址:http://www.cnblogs.com/geb515/p/5365689.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!