Spring学习总结7(AOP-基于XML)

Spring也提供了AOP的实现,切面就和常规的Java对象一样被定义成application context中的一个bean。

对象的字段和方法提供了状态和行为信息。

XML文件则提供了切入点和通知信息。

 

声明切面

 

在XML配置切面

 

Advisor

advisor就像一个小的自包含的切面,这个切面只有一个通知。

 

Spring AOP与AspectJ的选择

Spring AOP比完全使用AspectJ更加简单, 因为它不需要引入AspectJ的编译器/织入器到你开发和构建过程中。

如果你仅仅需要在Spring bean上通知执行操作,那么Spring AOP是合适的选择。

如果你需要通知domain对象或其它没有在Spring容器中管理的任意对象,那么你需要使用AspectJ。

如果你想通知除了简单的方法执行之外的连接点(如:调用连接点、字段get或set的连接点等等), 也需要使用AspectJ。

 

基于XML还是注解

XML:

显然如果你不是运行 在Java 5上,XML风格是最佳选择。

XML风格对现有的Spring用户来说更加习惯。它可以使用在任何Java级别中 (参考连接点表达式内部的命名连接点,虽然它也需要Java 5+) 并且通过纯粹的POJO来支持。当使用AOP作为工具来配置企业服务时XML会是一个很好的选择。 (一个好的例子是当你认为连接点表达式是你的配置中的一部分时,你可能想单独更改它) 对于XML风格,从你的配置中可以清晰的表明在系统中存在那些切面。

注解:

@AspectJ风格支持其它的实例模型以及更丰富的连接点组合。它具有将切面保持为一个模块单元的优点。@AspectJ切面能被Spring AOP和AspectJ两者都理解。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值