spring框架理解

梦想的初衷 提交于 2020-01-14 00:01:01

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

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