1.作用:在程序运行期间,不修改源代码的情况下对方法进行增强
优势:减少重复代码,提高开发效率,便于维护
aop:面向切面编程,完成解耦合功能


例子演示

比如我一个程序中包含这三个功能,然后我想让每个功能我打印日志,此时需要将日志和每个功能结合起来;如果有一天我要修改日志的代码,那么这三个功能都要修改代码,因为它这日志是和每个功能的代码耦合死的。如果像这样的功能不止三个,那就会很麻烦,耦合度太高,所以就引入aop的概念
在这里插入图片描述


我们把日志功能提取出来,让这个程序称为四个功能,提高代码的可重用性,
在这里插入图片描述
但是我们想-》把日志的功能提取出来,怎么把日志功能和每个功能结合起来,当修改日志代码就不会影响每个功能呢?
看下面的图片,我们让日志功能在save方法运行之前运行,这样不就能结合起来了吗?但是我们怎么告诉程序让他们在运行期间结合呢?
在这里插入图片描述
所以就要使用配置文件的方式,在配置文件内部,告诉它和每个功能相结合。当修改日志代码时,我们就可有只修改配置文件而不用去修改每个功能,这样就完成了解耦合


aop:完成以上功能和日志功能动态结合的技术叫做aop(面向切面编程)
save,update,delete叫做目标方法,日志叫做功能增强方法,把他们结合到一起叫做切面

posted on 2020-11-15 15:49  凸凸大军的一员  阅读(40)  评论(0编辑  收藏  举报