框架面试题

文章目录

  • 1. spring中的bean是线程安全的吗
  • 2. 事务的实现--AOP
  • 3. 项目中用到的AOP
  • 4.spring中事务的失效场景
  • 5. Bean的生命周期
  • 6.spring中的循环引用问题
  • 7. springMVC的执行流程
  • 8. springboot自动装配原理
  • 9. 常见注解
  • 10 Mybatis
  • 11 Mybatis一二级缓存

1. spring中的bean是线程安全的吗

口述:spring中的bean一般都是单例的,当然可以用scope设置,那单例的会其实是存在线程安全问题的,因为对象的单例的嘛,那如果说我定义了一些实例变量啊类变量啊,在多线程的环境下因为这些都是共享变量嘛,涉及到多个线程的读写操作那肯定是有线程安全问题的,从这个意义上来讲的话那就是线程不安全的,当然我们一般是不会这样去写的,一般我们resource啊autowired啊注入的其实都是无状态的类,像service啊dao啊,注入进来我们是不能修改的,那其实从这种角度看的话就是线程安全的,其实我们一般开发不会写这种成员变量,用注解注入的呢又是不可修改的,所以一般是线程安全的。

2. 事务的实现–AOP

在这里插入图片描述

3. 项目中用到的AOP

记录操作的日志,环绕通知+切点表达式实现

4.spring中事务的失效场景

事务失效:参考博客:https://blog.csdn.net/Pastxu/article/details/124531638?
大事务问题:参考博客:https://blog.csdn.net/qq_43141726/article/details/122095669?

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

5. Bean的生命周期

实例化+初始化

首先通过beanDefinitionReader解析注解的bean的信息,然后放入beanDefinition对象内
在这里插入图片描述
在这里插入图片描述

6.spring中的循环引用问题

在这里插入图片描述
在这里插入图片描述
三级缓存可以解决bean初始化过程中的循环依赖问题,不能解决构造方法中的循环依赖问题

一级缓存只有当bean初始化后才能注入,不能解决循环引用问题,
一般对象(不是代理对象)用二级缓存可以解决循环引用问题:在这里插入图片描述

使用三级缓存解决循环依赖问题(可以解决代理对象)

在这里插入图片描述

构造方法注入导致循环引用解决:懒加载注解,需要的时候再注入,并不是实例化的时候就去注入
在这里插入图片描述

7. springMVC的执行流程

jsp阶段:在这里插入图片描述
在这里插入图片描述

8. springboot自动装配原理

在这里插入图片描述

9. 常见注解

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

10 Mybatis

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

11 Mybatis一二级缓存

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/299982.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker的一些思考

1.docker是啥? 2.镜像执行流程 3.一些疑惑和解答 1. 2.

【教学类-42-03】20231225 X-Y 之间加法题判断题3.0(确保错误题有绝对错误的答案)

背景需求: 根据需求,0-5以内的判断是21题正确,21题错误,但由于错误答案是随机数抽取,有可能恰好是正确的,所以会出现每套题目的正确数和错误数不一样的情况 优化思路一: 设置如果错误答案与正…

图像九宫格切分1x3、3x3 Python

文章目录 1、需求2、实现2-1 贴图、切分2-2 GUI 3、运行效果4、代码 1、需求 把一个图像切分成 1x3 或者 3x3切分出来的图像比例希望都是 1:1 正方形如果图像尺寸满足 切分条件,自动填充一些“白边”然后继续切分如果填充了白边的话,希望能够调整原图像…

Go 语言实战:掌握正则表达式的应用与技巧

Go 语言实战:掌握正则表达式的应用与技巧 1. 引言2. 正则表达式基础2.1 基本概念2.2 常见元素2.3 基本示例 3. Go语言中的正则表达式库3.1 引入regexp包3.2 编译正则表达式3.3 使用正则表达式3.4 示例代码 4. 常用正则表达式函数及使用示例4.1 MatchString4.2 FindS…

数据库01_增删改查

1、什么是数据?什么是数据库? 数据:描述事物的符号记录称为数据。数据是数据库中存储的基本对象。数据库:存放数据的仓库,数据库中可以保存文本型数据、二进制数据、多媒体数据等数据 2、数据库的发展 第一阶段&…

Fireblock:为Dapp实现可编程隐私

1. 引言 Fireblock network为Cosmos生态应用链。并于2023年10月宣布完成pre-seed轮250万美金融资。 其定位为实现: 有条件解密可编程隐私 Fireblock使用的密码学方案有: distributed key generation(DKG)Identity-based encry…

数据库开发之多表查询的详细解析

1. 多表查询 1.1 概述 1.1.1 数据准备 SQL脚本: #建议:创建新的数据库 create database db04; use db04; ​ -- 部门表 create table tb_dept (id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not nu…

前端测试——端对端测试框架 Playwright 总结

在进行前端测试前,我们需要明确我们需要怎样的前端测试。 前端测试类型总结 前端应用测试分为几种常见类型: 端到端(e2e) :一个辅助机器人,表现得像一个用户,在应用程序周围点击,并验证其功能…

通过three.js玩转车展项目

1.项目搭建 1.1 创建文件夹 mkdir 文件名1.2 初始化package.json npm init -y1.3 安装打包工具并配置相关依赖 npm i parcel -d在package.json中打包路径和指令 1.4 安装three.js npm i three -d2.项目搭建 2.1 新建index.html,并再index.html引入car.js,在…

【C#】Visual Studio 2022 远程调试配置教程

在某些特殊的情况下,开发机和调试机可能不是同一台设备,此时就需要远程调试了。 开发机配置 首先需要确保两台机器在同一局域网下。 创建共享文件夹 随便找个地方新建一个文件夹,用来放编译结果。例如我这里是 D:\DebuggingWorkspace\。 …

正式官宣!谈思AutoSec 8周年年会暨中国汽车网络安全及数据安全合规峰会将于明年4月在沪召开

随着智能互联网时代的到来,智能汽车的安全形势变得更加严峻和复杂,网络资产的暴露和安全边界继续扩大。与传统的汽车车身安全问题相比,网络安全、数据安全、用户隐私等安全问题交织叠加,并加速了黑客对智能汽车领域的渗透&#xf…

歌曲春节回家:歌手荆涛探寻家庭与归属感的深刻内涵

歌曲春节回家:歌手荆涛探寻家庭与归属感的深刻内涵 春节,对于中国人来说,是一个意义非凡的节日。它不仅仅是一个传统的庆祝活动,更是一种深深的家庭情怀和归属感的体现。荆涛的《春节回家》这首歌,以其深情的旋律和富…