一、引言
IOC小编就花了13个章节整体的讲了一下,中间可能某些知识点会遗漏,请小伙伴请谅解一下。
今天学习Spring另外一个核心:面向切面编程(AOP)
AOP内容不多,大概就几章就搞定了。
对了对了,小编最近特价秒杀了一本书,分享给你们一段话。
追逐梦想的路上,华丽的跌倒,总胜过无所谓的徘徊。
你应该始终相信努力的意义。
因为未来的那个你,一定会感谢现在拼命努力的自己。
二、AOP是什么
AOP底层实现原理:JAVA动态代理
AOP面向切面编程,是一种新的方法论,是对传统OOP(面向对象编程)的补充。
AOP的主要编程对象是切面(Aspect)。PS:你们可以理解为,有一个类叫TestAspect,用注解的形式标识这个类是切面(Aspect),然后在这个类里面进行编程,写代码,这样理解了吧~~
在应用AOP编程时,还是需要定义公共的方法,但是可以明确指定这个功能以什么方式应用,并且不必修改受影响的类,这样以来横切关注点就被模块化到特殊的对象里面了。PS:定义好一个方法,然后我们可以指定这个方法,应用到具体某一个类某一个方法上。
这样使用AOP的好处是什么?
每个事物逻辑位于一个位置,代码不分散,便于维护和升级。业务模块更加简洁,只包含核心业务代码。
三、关于AOP术语(重点)
在这里也说下关于AOP的专业术语,别面试的时候听不懂。
切面(Aspect):横切的关注点,被模块化的特殊对象。
通知(Advuce):切面必须完成的工作。
目标(Target):被通知的对象。
代理(Proxy):向目标对象应用通知之后创建的对象。
连接点(Joinpoint):程序执行的某个特定位置,如类某一个方法调用前、调用后、方法抛出异常等。
切点(Pointcut):每个类都拥有多个连接点,AOP通过切点定位到特定的连接点。比如连接点相当于数据库中的记录,切点相当于查询的条件。
小编知道,很多小伙伴,看完了对AOP还是一头雾水,没关系,跟着小编往下看。