天天看点

Spring Aop实例之xml配置

      我采用的jdk代理,所以首先将接口和实现类代码附上

       单独写一个Advice通知类进行测试。这个通知类可以换成安全性检测、日志管理等等。

       只有Advice还不行,还需要在application-config.xml中进行配置:

       编一个客户端类进行测试一下:

       结果如图:

Spring Aop实例之xml配置
Spring Aop实例之xml配置

       值得注意的是Around与Before和After的执行顺序。3者的执行顺序取决于在xml中的配置顺序。图中标记了3块,分别对应Before,Around,After。其中②中包含有③。这是因为aop:after配置到了aop:around的前面,如果2者调换一下位置,这三块就会分开独立显示。如果配置顺序是aop:after  -> aop:around ->aop:before,那么①和③都会包含在②中。这种情况的产生是由于Around的特殊性,它可以做类似于Before和After的操作。当安全性的判断不通过时,可以阻止核心业务逻辑的调用,这是Before做不到的。

Spring Aop实例之xml配置
Spring Aop实例之xml配置

       使用xml可以对aop进行集中配置。很方便而简单。可以对所有的aop进行配置,当然也可以分开到单独的xml中进行配置。当需求变动时,不用修改代码,只要重新配置aop,就可以完成修改操作。