之前关于spring ioc的一些基础学完了,现在开始写spring另一个特点AOP
AOP:面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
上面这句话,是标准的定义,我觉得尚硅谷的关于这个的通俗描述不错:AOP就是在不改变原来代码的基础上传增加新的功能
AOP的底层实现是使用动态代理的方式实现的,用的设计模式是代理模式
它分为两种情况:(1)在有接口的情况下是使用JDK动态代理。(2)没有接口的情况下是使用CGLIB代理(具体是什么我也不清楚)
AOP中的术语,我引用尚硅谷中的解释:
(1)连接点:类中可以增强的方法,交连接点,就是可以功能扩展的方法
(2)切入点:类中实际被增强的方法,与连接点不同,看着定义有点类似,但它们是不一样的
(3)通知:方法中实际被增强的逻辑部分
(4)切面:是一个动作,把通知应用到切入点的过程。
明天放我练习的代码