• Spring 常见问题


    1、Spring的理解

    Spring 是一个一 IOCAOP 为核心的松耦合非侵入式分层式企业级应用开发框架

    非侵入式:可以在对现有结构不影响的前提下增强 JavaBean 的功能(DI)

    松耦合:AOP、DI

    2、Spring IOC 的理解

    Spring 中 IOC 就是将对象的创建交给 Spring 容器来完成,再通过依赖注入来使用容器中的对象。

    3、Spring AOP 的理解

    Spring AOP 面向切面编程,就是将区别于业务之外的功能独立出来,进行管理和扩展。

    Spring AOP 是基于 IOC 实现的,本质实在 Bean 初始化过程中 通过 Bean后置处理器 中的动态代理来做扩展。

    关键字: 切面、切点、通知(before、after、around、after throwing、after returing)

    4、Spring AOP 的应用有哪些?

    日志、动态代理、Bean的增强处理器、事务管理、动态代理

    5、Bean 的生命周期

    Bean 的定义信息 => Bean 的实例化 => Bean 的初始化 => Bean 的使用 => Bean 的销毁

    6、Spring是如何解决循环依赖的?

    使用三级缓存,将Bean在初始化完成之前进行提前暴露

    7、Spring 中反射的流程

    1. 获取 Class 对象

    2. 获取 Class 对象的构造器

    3. 创建对象

    8、依赖注入的方式有哪些?

    注解注入、构造器注入、Setter 注入

    9、Spring 中 声明 Bean 的注解有哪些?

    • Spring 自带

      @Bean:作用于方法,一般用于配置类中

      @Component、@Service、@Controller、@Repository、@RestController:作用于类

    • mybatis plus

      @Mapper:作用于类

    10、Spring 中事务的传播性?

    事务的传播性产生于事务的嵌套,内层事务不会对外层造成影响,所以事务的传播性指的其实是外部事务对内部事务的影响,所以对于内部事务,主要分为三大类:

    • 死活不能有事务的

      Never:外部有事务就抛出异常

      Not_Support: 将外部事务挂起后非事务执行

    • 必须要有事务的

      Required:外部有就用外部事物,没有就创建事务(SpringBoot @Transactional 注解默认是这个)

      Required_new: 不管外部有没有事务,都创建自己的事务,外部有事务就挂起

      Nested:外部没有事务就创建事务,外部有事务就创建事务并嵌套在外部事务中

      Mandatory:外部没有事务就报异常,外部有事务就用外部事务

    • 可有可无的

      Supported: 外部有事务就用外部事务,没有就算了

    11、事务的隔离级别以及可能出现的问题

    隔离级别:read uncommited < read committed < repeatable read < seriazable

    可能的问题:脏读、幻读、不可重复读、回滚覆盖、提交覆盖

    数据库:MySQL默认:repeatable read

    SqlServer、Oracle:read committed

  • 相关阅读:
    Java开发者的Python快速进修指南:实战之跳表pro版本
    常见的一些威胁情报分析平台
    条件变量condition_variable实现线程同步
    2024年测试程序员必看系列之自动化测试框架
    Redis——》数据类型:bitmap
    2022-09-18 第 311 场周赛
    有点东西,template可以直接使用setup语法糖中的变量原来是因为这个
    【知识图谱】基于neo4j开发的信息化文档分析系统(源码)
    《java练级之路》类和对象,博主熬夜肝六个小时万字博客
    HTML期末学生大作业-拯救宠物网页作业html+css
  • 原文地址:https://blog.csdn.net/qq_42151956/article/details/127108003