写博客的目的:
1.记录自己的想法,方便追溯。
2.让大家纠正我想法中不正确的点,自我提高。
3.给在校的学弟学妹们或者刚工作的同事们一点点启发。
每日鸡汤
大家在学习新的东西,不仅限于计算机技术,只要是涉及到很多新的名词或者概念时,都会产生一种陌生或者无力感,除了极少数拥有极强联想能力或者举一反三能力的人,大部分人在起步阶段的感受都是一样的,我们心里一定要自我暗示,每一项技术都只是给生活中常见的原理加了一层看上去难懂的外壳,我们大脑需要做的就是,通过查资料或者自我总结将新技术的原理给找出来。
温故
上一篇文章简单介绍了一下Spring中的IOC和依赖注入这两个概念,如果需要温习的小伙伴,请点击传送门Spring基本概念解析(一)。
知新
在Spring中,除了IOC,听得最多的就是AOP了,那什么是AOP呢?我想用尽量“不专业”的话术去做一个描述。
一. 理解AOP需要提前记住的两个关键词:
1.约定的流程
2.目标方法
学习AOP之前,需要默念3遍的话:
AOP就是把目标方法通过动态代理技术织入到约定的流程中。
看到这里,某些人特别是我会被动态代理技术,织入这两个词给吓到。OK,这两个词感觉生疏的话,使用看英文文章常用的办法,去掉不认识的定语,先把动态代理这四个字去掉,使用写英文作文最常用的办法,替换不会拼写的单词,把织入这个词替换成引入。
整句话会被替换成:
AOP就是把目标方法通过技术引入到约定的流程中。
花了这么大力气,那请把这句话默读10遍吧,在遇到AOP里面的不懂的地方,请把这句话默念出来吧:
二. 开始理解AOP
1. 约定的流程:
- 举个通俗的例子:
约定的流程:请你念悯农这首诗,并在每句诗的第二个字后按照顺序加上你、我、他、那。
约定前:
锄禾日当午,
汗滴禾下土。
谁知盘中餐,
粒粒皆辛苦。
约定前你念出来的是古诗
约定后:
锄禾你日当午,
汗滴我禾下土。
谁知他盘中餐,
粒粒那皆辛苦。
约定后你念出来就是喊麦。
2. 目标方法:
- 用代码举个例子
约定的流程:调用calculator方法,并在这个方法的调用前打印“准备调用”,调用方法后打印“调用完毕”。
目标方法:calculator方法
约定前:
截屏2020-04-20 下午11.26.10.png
约定后:
截屏2020-04-20 下午11.48.05.png
三. 总结
AOP:英文是Aspect Of Programming,中文翻译为面向切面编程,其实在刚开始理解时,不必过多纠结切面的定义,牢记 “AOP就是把目标方法通过技术引入到约定的流程中”这句话就好。