面向切面编程。 利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 不通过改变原始代码来修改功能。 独立功能块,降低耦合度。 底层原理 使用动态代理。 (1)有接口 JDK动态代理 (2)没有接口CGLIB动态代理