当前位置: 首页 > news >正文

2026-02-13学习

2026-02-13学习

一、Spring 面试题

1、Spring 的单例 Bean 是否有并发安全问题?

Spring 的单例 Bean 有并发问题,因为 Spring 默认为单例模式,整个应用就一个 Bean,所有线程都使用这个共享 Bean。假如这个 Bean 有可变的

实例变量,那么就会出现问题。那么如何避免呢?我了解的一种方式就是使用 @scope("prototype") 注解,每次请求的使用都会创建一个新的 Bean

实例

2、说一下对 Spring MVC 的理解

Spring MVC 其实就是一种规范,但是仅限在 Spring 框架下。在老的 MVC 架构下,主要为 Model 数据层,View 视图层,Controller 控制层。并

且老项目大多都是 jsp 或者其他前端技术。但是现在都是前后端分离模式,在 Spring 机构下,那么分层就出现了一定的变化,分别为:Controller

控制层(处理 http 请求),DAO 数据访问层(与数据库打交道),Service 服务层(注重业务逻辑),View 层(前端页面,前后端分离模式下大多

都是返回 json)

3、Spring 中拦截器和过滤器的区别?

拦截器主要就是在 Servlet 中实现的,由 Servlet 容器进行管理

过滤器是在 Spring MVC 定义的,只能拦截 Controller 层中的 http 请求

二、复习

简单回答,并且口头盲回答,练习熟练度,避免能写出来,但是说不出来的场景,也锻炼一下自己的表达水平

1、说一下你对 Spring 的理解?

Spring 其实就是一种框架,最大的作用就是通过 IOC 控制反转和 DI 依赖注入进行解耦操作,使得耦合度降低

IOC 控制反转就是创建对象交由 Spring 容器进行管理,而不再是程序员自己去 new 对象

DI 依赖注入就是通过构造函数,Setter 方式或者字段注入将对象注入到实例中

整个过程涉及到 Spring Bean 的生命周期

2、什么是 Spring Bean?

Spring Bean 就是 Spring 容器管理的普通对象的 Bean

3、Spring 事务有哪几种传播类型?

事务的传播行为常见的主要为:required、requires_new、nested

required:是默认的传播类型,主要场景就是电商系统等,比如下单之后需要进行扣减库存操作。外部调用方调用事务的时候,如果有事务就加入进

来;如果没有事务就新建一个事务

requires_new:不管有没有事务,都会新建一个事务,主要就是处理单独事务场景,比如日志记录,但是现在日志记录操作一般通过 AOP 切面来完成

nested:嵌套事务,子事务回滚的时候不会影响父事务;但是父事务回滚的时候,子事务也要跟着回滚

4、Spring 事务怎么用?

编程式事务

声明式事务:通过 @Transcational 注解来开启事务

5、Spring 事务的隔离级别?

Spring 事务的隔离级别主要为读未提交、读已提交、可重复读、串行化

6、Spring 事务在哪些情况下会失效?

1)用 try catch 捕获异常但是不抛出,框架感知不到异常的出现

2)抛出的异常是编译时异常,而框架默认感知到的是运行时异常,解决方法就是 @Transcational(callbackfor = Exception.class) 来提升

异常的处理级别

3)方法使用非 public 方法

7、什么是循环依赖?

很简单,A 需要 B 时,发现 B 也需要 A,但是 A 和 B 都没进行实例化以及没有在容器中,造成死循环

8、如何解决循环依赖?

1)三级缓存:A 服务进行实例化的时候,将其缓存到三级缓存中,然后进行依赖注入,发现 B 服务没实例化,这时 B 服务开始实例化,并缓存到三

级缓存中,接下来开始依赖注入,但是 A 服务已经实例化,就将其从三级缓存中拿出来放到二级缓存中,B 服务成功完成整个过程,并缓存到一级缓存

中。这时 A 服务完成剩下的过程。

这里面一级缓存主要就是存储完整生命周期的 Bean,但是不包括销毁阶段;二级缓存主要就是存储半成品的 Bean,只进行了实例化,但是没进行依赖

注入;三级缓存的作用就是延迟注入,当需要的时候才会进行代理对象创建,而不会破坏整个生命周期

9、Spring Bean 的生命周期?

实例化 -> 依赖注入 -> 前置处理 -> 初始化 -> 后置处理 -> 就绪使用 -> 销毁

三、总结

今天学习的比较简单,因为上午被拉去打扫卫生,下午被拉起购置年货啥的,然后去亲戚家辞年,晚上又去锻炼一下,一天时间就过去了,真的好快

啊,明天感觉没什么事情了,可以好好啃一下 Spring AOP 技术了,因为这里有点难,我还没理解清楚动态代理技术

http://www.jsqmd.com/news/379515/

相关文章:

  • 春节期间杂题练习
  • 装修 绿植 中古风
  • 特价股票与公司研发投入效率的关系分析
  • MySQL慢查询分析与索引优化实战技巧
  • AI元人文:实践与他者
  • CDP 常用数据类型与 MySQL 数据类型对应关系
  • Java毕设项目推荐-基于SpringBoot技术的流浪动物管理系统的设计与实现宠物信息、领养、寄养、审核【附源码+文档,调试定制服务】
  • Java毕设项目推荐-基于Web的文物知识普及系统设计与实现【附源码+文档,调试定制服务】
  • Flink Kerberos 安全接入整体机制、三大安全模块、Standalone/K8s/YARN 部署与 Token 续期策略
  • Flink Delegation Tokens(DT)彻底讲透为什么需要、生命周期、续期机制与生产踩坑清单
  • Flink SSL/TLS 安全加固内网 mTLS、REST HTTPS、证书 Pinning 与部署要点
  • P2045 方格取数加强版
  • 学习记录260213
  • OpenCSG(开放传神)赋能科研机构:广东省智能院的AI一体化研发基座
  • AI计算平台前沿进展:下一代AI计算平台——“OpenEmbodied AI Platform (OEAP)设计框架(2)
  • TDengine IDMP 数据可视化 6. 资产列表
  • Java计算机毕设之springboot基于WIFI协议的课堂点名系统的设计与实现基于java+springboot+vue的课堂点名系统(完整前后端代码+说明文档+LW,调试定制等)
  • Java计算机毕设之基于SpringBoot的校园一卡通系统的设计与实现基于web的高校一卡通管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 通胀保值投资:实物资产在投资组合中的角色
  • P2740 [USACO4.2] 草地排水 Drainage Ditches
  • 异步编程中的共享变量与竞态条件
  • 2026广东最新紫晶洞厂家top5推荐!广州等地优质天然水晶源头供应商权威榜单,品类全货源稳,助力客商高效采购 - 品牌推荐2026
  • 2026广东最新巴西紫水晶洞生产厂家top5推荐!广州等地优质巴西紫水晶洞供应商权威榜单发布,货源品质双优助力批发采购 - 品牌推荐2026
  • 【毕业设计】springboot基于WIFI协议的课堂点名系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • P6577 【模板】二分图最大权完美匹配
  • 详细介绍:Maven 编译的settings配置和pom、idea配置关系
  • 【毕业设计】基于SpringBoot生活版青年学习平台(源码+文档+远程调试,全bao定制等)
  • 3D感知技术与实践(2020年)-04:深度图和点云数据底层处理算法
  • 【毕业设计】基于web的高校一卡通管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 基于Python的Qt研发之Pyside6 QtSerialPort库的运用