Spring AOP 织入初探--通过架构看实现

        最近静下心来回归技术书籍,一方面准备SCJP,一方面想把一些框架好好研究一下,倒不是应用,只是觉得以前颇少关注这些东西的实现,而现在越来越觉得,好的框架的设计思想很值得学习,而且对于应用方面也会有质的提升。于是就先从Spring入手吧。

       IOC在此就不谈了,懂得动态代理的童鞋都知道就是那么回事,再加点反射机制。AOP并不是Spring的专利,但是Spring提供的AOP实现却差不多够用了。这篇文章主要谈谈有关AOP织入的几个东东。先容我用封尘已久的EA画个小图……

 

       上面这张简单列出了AOP核心类图。左边可以看做一个抽象工厂模式,创建AopProxy。这里有两种Aop代理。一种是常用的Jdk中的Proxy实现,另一种是通过Cglib来实现的。前者在有接口指明的情况下才可以用。这取决于jdkAPI固有的实现方式。

       其实看Spring文档也好,各类书记也好,都把一些概念织入了我们大脑,神马joinpoint,advice,pointcut,introduction,targrt,proxy,weaving云云。去记这些新概念之类的还不如亲身体验一下Spring的奥妙。其实说AOP,很多人想到的就是日志,验证,事务。了解了AOP的实质,就会发现,它可以很轻便的让我们控制,而不是限定在某些应用了。需要缓存就加入缓存,通过before的advice。很多时候学习一种框架,学习一门技术,也是要迭代式的。边用边学边看边体会。

      我也是去年9,10月份学SSH的,但当时一直没有用,也只是停留在小项目小代码的阶段。很快也就忘记了,至于实现方式,神马动态代理,反射了也只知道一点点。但现在剖开Spring的代码,才发现,设计模式纷繁复杂,代码结构精巧灵活。我们在不追求什么设计模式,不追求华丽实现的时候,往往自然而然地达到了目的了。还记得校招的时候听聂风说,淘宝刚开始也没有想去盈利,前几年一直是入不敷出的,但是在做的时候,在把客户第一作为目标的时候一点点实现,随之而来的金钱也是自然而然的。而这种收获所带来的喜悦和一开始就以盈利为目的所得到的结果来说,肯定是感受不同的。

       写得有点零散了,其实主要是要把小图乘上,有时候想不起来AOP了,看看这张图会牵出很多思绪的。要午睡了,今天先到这儿~

       最后,奉上一点程序猿的冷笑话,生活繁忙而充实,不忘冷冷一笑:

       一位IT经理走进一家面馆,问?:“你们需要客户端吗?”老板答,面一般是伙计端,忙的时候才要客户端。

  • 大小: 131.5 KB
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值