Spring框架篇(面试)

Spring

IOC控制反转

在没有使用Spring IOC时,对象的创建和赋值是由程序员来决定的,我们使用SpringIOC之后,由Spring来控制对象创建和对象内部赋值。实现了对象的控制权的反转。降低了我们的代码量减少的代码的复杂度。

Spring单例bean

在这里插入图片描述

AOP

在这里插入图片描述

Spring事务传播

多个事务相互调用时,事务如何在这些方法之间传播,方法A是一个事务方法,方法A执行过程中调用了方法B,方法B有无事务以及方法B堆事务的要求不同都会堆方法A的事务具体执行造成影响,同时方法A的事务对方法B的事务也有影响,这种影响具体是什么就需要定义事务的传播类型来决定。
在这里插入图片描述

Spring事务失效

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.方法被final修饰,因为spring事务底层实现使用了代理,aop,通过jdk的动态代理或者cglib,生成了代理类,在代理类中实现了事务功能,如果方法被final修饰,无法重写该方法,也就无法添加事务的功能了
5.方法内部调用,在同一个类的service中,调用其他的事务方法

6.使用事务的对象没有被Spring管理,

Bean的生命周期

在这里插入图片描述

循环依赖

在这里插入图片描述

SpringMvc

在这里插入图片描述
JSP
在这里插入图片描述
前后端分离
在这里插入图片描述

SpringBoot自动配置原理

在这里插入图片描述

注解

Spring注解
在这里插入图片描述
SpringMVC注解
在这里插入图片描述
SpringBoot注解
在这里插入图片描述

Mybatis

在这里插入图片描述

延迟加载

在这里插入图片描述

Mybatis一级、二级缓存

在这里插入图片描述
在这里插入图片描述

SpringBoot启动流程

在这里插入图片描述

IOC容器初始化流程

在这里插入图片描述

Bean生命周期

什么是bean?
在Spring框架中,Bean是核心组件之一,它代表了应用程序中的一个对象实例。Spring容器负责创建这些对象,并管理它们的生命周期、配置以及它们之间的关系。
在这里插入图片描述
@Autowied是通过类型来注入的,如果有多个相同类型可以使用@Qualify注解来指定 ,他是Spring框架提供的注解
@Resource是通过名称来注入的,他是java提供的

Bean的循环依赖

在这里插入图片描述

MVC执行流程

在这里插入图片描述

Spring、SpringMvc、SpringBoot

Spring是一个IOC容器,用来管理Bean,通过依赖注入实现了控制反转,方便整合更多框架;提供AOP机制,弥补了OOP代码的重复问题,实现了将不同类不同方法的共同处理抽取出来形成切面,自动注入给方法执行,比如日志处理,日常处理等。
SpringMVC(M:moedl;V:view;C:controller)是一个整合的Web框架,由一个总的前端控制器Servlet来接受请求,然后定义了路由策略(URl映射到handle地址),以及是配置型handle,将handle返回结果通过视图解析返回给前端。
SpringBoot是一个快速开发Spring+SpringMVC工程的工具包,简化了配置,整合了一系列的解决方案;比如starter机制,实现开箱即用

@Autowired与@Resource

@Autowired是Spring提供的接口,他首先会通过byType的方式去匹配bean,如果存在多个相同名称的bean,再去通过byName去精准匹配一个最合适的,注解只有一个参数requried默认为true,找不到时抛出异常。搭配Qualifier()指定具体bean使用
@Resource是java提供的接口,它通过byName的方式去匹配bean,找到多个时通过byType去匹配。如果没有匹配也会接受null值,不会抛出异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值