Spring AOP
描述一下Spring AOP
面向切面编程,可以看作是对OOP(面向对象编程)的一种补充,传统的OOP开发中代码逻辑是自上而下的,在这些自上而下的过程中会产生横切的问题,而这些横切性的问题又与我们业务逻辑关系不大。AOP让你可以使用简单可插拔的配置,在实际逻辑执行之前、之后或周围动态添加横切关注点。这让代码在当下和将来都变得易于维护。spring AOP可以通过注解和XML两种方式实现。
Spring中有哪些不同的通知类型
1、前置通知(Before Advice):在连接点之前执行Advice @Before
2、返回之后通知(After Retuning Advice):在连接点正常执行结束之后执行Advice @AfterReturning
3、抛出异常后执行通知(After Throwing Advice):方法抛出异常退出后执行该通知 @AfterThrowing
4、后置通知(After advice):无论连接点是通过什么方式退出(正常返回或者抛出异常)都会在执行结束时执行该通知 @After
5、环绕通知(Around advice):围绕连接点执行Advice @Around
SpringAOP增强一个类,是在什么时候完成?
在spring初始化得时候完成增强。
Spring AOP 代理是什么?
代理是使用非常广泛的设计模式。简单来说,代理是一个看其他像另一个对象的对象,但它添加了一些特殊的功能。
Spring AOP是基于代理实现的。AOP 代理是一个由 AOP 框架创建的用于在运行时实现切面协议的对象。
spring使用了两种代理模式,JDK动态代理和cglib代理
1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP
2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP
3、如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换
spring的2种代理模式:https://blog.csdn.net/ctwy291314/article/details/82017408
Spring IOC
Spring bean的生命周期
IOC
spring容器
懒加载
Spring MVC
来源:CSDN
作者:pink baby
链接:https://blog.csdn.net/weixin_40027906/article/details/103956030