Spring--AOP

Spring–AOP思想

​ 今天我在美团优选花了3.99上买了个火龙果,美滋滋地取了然后走进寝室,看到儿子们正在闹腾腾地玩飞行棋,正打算炫耀下自己买火龙果的机智,结果手机一响,发现是一个女生发来一个服务器500报错,我一看这个问题我遇到过,正想再巩固一遍,加上她处理的方式实在不堪,她说买了杯奶茶在离我寝室很近的教学楼等我教她,我二话不说放下火龙果冲着这个500问题夺门而出,迅速解决完问题后在她呆滞的眼神中昂着头潇洒离开,回到寝室,发现一个严重问题——

​ “我火龙果呢?”

​ 室友一个个回过头来,我仔细观察着他们的一张张脸,在他们一声声不知道的“无辜”中抓了全部嘴角带红色的“罪犯”。

​ 教育过一遍后,我仔细一想,这个事情刚好和我今天学的AOP(面向切面编程)的思想有异曲同工之妙啊,我们来分析一下。

什么是切面?

​ 切面切面,顾名思义,一个大西瓜呀,切开的切口就是切面,炒一锅菜,锅与炉子共同来完成炒菜,锅与炉子就是切面,网页层级设计中,前端静态页面层->网关层->服务层->数据层,每一层之间也是一个切面,所以,模块与模块,功能与功能之间都是一个个切面。

切面的作用

​ 一个东西之所以存在,那一定会有它存在的意义,切面肯定也有。

​ 我今天切西瓜,发现我切不太动,于是我去磨了磨菜刀—这一个过程,换句话讲,我从切西瓜这个事件中,拿出了用菜刀切这个切面,在这之前把刀磨了磨,然后再切,然后美滋滋地吃西瓜。

​ 我们放大来讲,不只是切西瓜,做什么事都可以如此分析,讲各个事情分成一层层切面,然后拿出来分析,在其前后做改变,再放回去继续,这种思想放进代码架构里,就是AOP了。

详细拓展

我们回到火龙果的问题上来讲一下AOP中的相关术语和概念:

首先我们要抓吃了火龙果的人,范围在我的室友里,我的室友—Joint point(连接点),也就是切入的范围。

吃了我的火龙果,那么嘴角就会有红色的吃过的痕迹,那么,嘴角有红色的室友,就是犯人—Pointcut切入点),也就是切入的那一点。

那我如果没有那么粗心大意,想弥补一下,于是我唱了一遍反方向的钟穿越了时空,在出门前写了张纸条贴在火龙果上—“谁吃谁是孙子”,那么,我贴纸条的行为—Advice(增强)

那么我们回顾整个行为,我根据嘴角有红色痕迹的线索,抓住了吃我火龙果的人,这一整个过程—Aspect切面

总结

大致介绍了下概念和一些基本要点,在Spring中,是通过动态代理和反射技术实现了AOP,这些内容之后有机会再讲解。至于AOP,我不禁在想,我们在会议往事和反思的这种行为,未尝不是一种分层的思想,如果在那一刻我的行为能再过过脑子,如果那一刻我能再勇敢一点就好了,但是,人生没有反射和动态代理技术,不能拿出你的往事切面做出改变,我们只能把握每一个瞬间,做好自己的事,勇往直前。

最后,诸君共勉。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值