Spring中的AOP是什么?

旧时模样 提交于 2020-03-08 23:12:29

AOP :面向切面编程

在软件工程领域有一个概念:关注点分离 ,不同的问题交给不同的部分去解决。

AOP其实就是这个思想。

怎么理解呢?

例如我们写业务代码的时候还需要考虑日志、缓存..等通用的功能。这些通用功能的实现就是所谓的切面(Aspect),当业务代码和切面代码分离之后,开发者即可专注于业务逻辑处理,架构将变得高内聚低耦合。但是最终你编写的业务代码是需要这些被剥离出来的通用功能,又需要合在一起,这个过程就是切面被合并到业务中,这被称为Weave。

如何织如呢?

涉及AOP的技术

1、 编译时织入

2、类加载时织入

3、运行时织入:spring采用此种方式,通过动态代理的方式,实现简单。

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!