Spring AOP 建立一个简单的切面及测试
2018-06-07 本文已影响0人
亲疙瘩o_o
以经典的演出和观众为例,如果一场演出没有观众的话,不能称之为演出。从演出的角度看,观众是十分重要的,但是对演出本身,或者说对于台上的表演者来说,观众并不是核心,这是一个单独的关注点。因此,将观众定义为一个切面,并将其应用到演出上是较为明智的做法。
1.创建切点
为了阐述Spring中的切面,我们需要有个主题来定义切面的切点。为此,我们定义一个Performance接口:

2.创建引用切点的实例
即创建台上表演者类Dancer,以便后期用于测试。

3.创建切面
建立Audience为切面类,即观众类。该类通过注解@Aspect定义为切面,@Around注释表明watchPerformance()方法会作为performance()切点的环绕通知。

4.编写配置文件
编写配置文件PerforConfig,注入观众bean和表演者bean。

5.测试

测试结果
