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

合肥论坛网站建设衡水做网站技术

合肥论坛网站建设,衡水做网站技术,河南天丰建设工程有限公司网站,wordpress 文件夹名称目录 Spring 单例bean是线程安全的吗? AOP相关面试题 Spring中事务失效的场景 Sprin-bean Spring-bean的生命周期 Spring-bean的循环引用 SpringMVC SpringMVC执行流程 SpringBoot SpringBoot自动配置原理-最高频 Spring框架常见注解?&#…

目录

Spring

单例bean是线程安全的吗?

AOP相关面试题

Spring中事务失效的场景

Sprin-bean

Spring-bean的生命周期

Spring-bean的循环引用

SpringMVC

SpringMVC执行流程

SpringBoot

SpringBoot自动配置原理-最高频

Spring框架常见注解?(Spring,SpringBoot,SpringMVC)

MyBatis

MyBatis执行流程

MyBatis延迟加载使用及原理

MyBatis一级、二级缓存


Spring

单例bean是线程安全的吗?

单例singleton:spring容器只会创建这个bean的一个实例

非单例prototype:每次请求获取bean时,容器都会新创建一个实例

如果不设置的话,默认是单例的

成员变量需要考虑线程安全,而id是形式参数,形式参数一般都是局部变量,没有线程安全问题

成员变量:定义在类内部、方法外部的变量,描述类的属性或状态,是类的重要组成部分。它与 “局部变量”(定义在方法内部的变量)相对,两者的作用域、生命周期有显著区别。

维度Service 类Dao 类(data access object 数据访问对象)
职责处理业务逻辑、协调 Dao 操作仅负责数据 CRUD,无业务逻辑,直接与数据库交互
依赖关系依赖 Dao 层(可调用多个 Dao)依赖数据库(或 ORM 框架)
方法设计按业务场景设计(如register按数据操作设计(如saveUser
事务控制通常包含事务注解不处理事务
复用场景供 Controller 层调用供 Service 层调用

由于成员变量需要考虑线程安全,所以尽量不要定义可修改的成员变量

AOP相关面试题

Spring中事务失效的场景

这样配置之后,所有抛出的异常都会导致事务回滚。

非检查异常(Unchecked Exception) 是指编译器不强制要求开发者显式处理(捕获或声明抛出)的异常,它属于 RuntimeException 及其子类,同时也包括 Error 及其子类(虽然 Error 通常不被视为 “异常”,但从编译器检查规则上属于非检查范畴)。

Sprin-bean

Spring-bean的生命周期

BeanPostProcessor#before(后置处理器):用于增强bean,在初始化方法之前进行调用

BeanPostProcessor#after:在初始化方法之后进行调用

@PreDestroy用于关闭容器时销毁bean

Spring-bean的循环引用

上面的二级缓存可以解决一般的循环依赖问题

但如果A是代理对象,现在的二级缓存无法解决问题

补充:代理对象

代理对象是一种替代真实对象(目标对象)的对象,它与目标对象实现相同的接口或者继承相同的抽象类。客户端在使用时,通常不会直接访问目标对象,而是访问代理对象。代理对象会根据实际需求决定是将请求转发给目标对象,还是在转发请求前后执行一些额外的操作。

常见类型:

静态代理:在编译期就确定代理类,代理类和目标类实现相同的接口,代理类中持有目标类的引用。通过代理类可以在调用目标方法前后添加额外的逻辑。

动态代理:在运行期动态生成代理类。在 Java 中,主要有 JDK 动态代理和 CGLIB 动态代理。

  • JDK 动态代理:要求目标对象实现一个或多个接口,通过 java.lang.reflect.Proxy 类和 InvocationHandler 接口来实现。
  • CGLIB 动态代理:可以在目标对象没有实现接口的情况下创建代理类,它通过继承目标类来实现代理功能。需要引入 CGLIB 的相关依赖

三级缓存可以解决初始化过程中产生的循环依赖,不能解决 构造函数 产生的循环依赖

解决:加注解@Lazy,需要的时候再创建

通过工厂生成的对象统一都放在二级缓存,使用的时候直接拿出来

SpringMVC

SpringMVC执行流程

SpringBoot

SpringBoot自动配置原理-最高频

springboot自动配置:Spring Boot 会根据你添加的依赖和配置,自动帮你完成很多繁琐的框架配置工作。

只需在 pom.xml 中添加 spring-boot-starter-web 依赖,启动类上标注 @SpringBootApplication,运行 main 方法,Web 应用就直接能跑起来 ——Spring Boot 会自动配置好 Tomcat 服务器、DispatcherServlet、JSON 解析器等所有 Web 开发需要的组件。

Spring框架常见注解?(Spring,SpringBoot,SpringMVC)

MyBatis

MyBatis执行流程

配置文件

MyBatis延迟加载使用及原理

fetchType =" lazy" 开启延迟加载,是局部的

全局配置延迟加载:mybatis-config.xml

MyBatis一级、二级缓存

只执行一次查询,第一次的结果放到缓存中(两个使用同一个sqlsession)

http://www.dtcms.com/a/425156.html

相关文章:

  • 网站后台访问权限设置产品推广网站哪个好
  • 做斗图的网站汽车网站策划书
  • 购物网站的后台做哪些东西有源码帮忙搭建网站吗
  • 如何帮公司做网站门窗网站源码
  • 网站开发用什么字体设计电子商务网站建设方案
  • 网站建设 app 优化什么是网络营销?请举几个例子说明
  • 网站子页面如何做seophp网站底部文件
  • seo网站营销推广公司长沙seo优化价格
  • 网站建设官方网网站建设公司盈利模式
  • 个人网站如何快速通过icp备案sem广告
  • 传统企业网站建设免费建设在线商城的网站
  • 天坛网站建设建立个人网站代码
  • 网站建设的资源整合与系统设计网站建设运营方案
  • 网站架构图一般包括什么工程造价信息价在什么网站查
  • 杭州网站优化流程海外手机充值app下载
  • 在Python中,tuple(元组)和list(列表)类型的区别和联系,以及如何在类型检查中正确使用isinstance()。
  • 好的网站开发自学网站找个产品做区域代理
  • 口红做网站多少钱长泰597人才网最新招聘信息
  • 永久免费手机建站海口制作手机网站
  • 东莞企业网站设计排名个人网页设计题目简介
  • 网站备案信息如何下载沈阳建网站公司
  • html完整网站开发做网站编写代码
  • 高大上的企业网站欣赏wordpress 小米商城主题
  • 怎么在互联网做网站网站推广优化流程
  • 白酒网站的建设久久建筑网碗扣式钢管脚手架安全技术规范
  • seo 网站制作住建局网站官网
  • 个人 邮箱 含网站 域名管理系统网页界面设计
  • 网站建设产业pest分析百度联盟
  • 网站建设的目标的意思销售管理软件crm
  • 网站建设用什么教材郑州网站开发