SpringAop基础知识
一:什么是AOP? AOP(Aspect Oriented Programming)被称为面向切面编程。 AOP把软件系统分为两个部分: 核心关注点和横切关注点。 业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。 Aop 的作用在于分离系统中的核心关注点和横切关注点。业务逻辑不必关心日志、权限等横切关注点的处理,降低了程序的耦合度,提高可维护性;并且Aop提供了易配置、可插拔的特性,使用十分方便,是面向对象编程的有效补充。 二、AOP中的一些基础概念 连接点:就是一个个方法,通俗来说,所有的方法都是连接点。(Spring AOP 只能使IOC容器中的Bean的方法) 切入点:切入点是一个匹配连接点的断言或者表达式。通俗来说,就是在哪些连接点上来执行通知。 通知:通知(advice)是你在你的程序中想要应用在连接点上应用横切关注点(日志、事务等)的实现。 切面:其实就是共有功能的实现。如日志切面、权限切面、事务切面等。就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度的一个Java类。 织入:将切面应用到目标对象从而创建一个新的代理对象的过程。这个过程可以发生在编译期