70道Spring面试题与答案(第11-20题)

90 阅读5分钟

Image

  1. 面试题:Spring中的Bean的生命周期是什么?

答案:Spring中的Bean的生命周期包括以下几个阶段:

  • 实例化阶段:在这个阶段,Spring会根据配置文件或注解等方式,创建Bean的实例。

  • 属性赋值阶段:在实例化后,Spring会将配置的属性值注入到Bean中。

  • 初始化阶段:在属性赋值完成后,Spring会调用Bean的初始化方法,可以通过实现InitializingBean接口或在配置文件中指定init-method方法来定义初始化逻辑。

  • 使用阶段:在初始化后,Bean进入使用阶段,可以被其他Bean引用和使用。

  • 销毁阶段:当Spring容器关闭时,会调用Bean的销毁方法,可以通过实现DisposableBean接口或在配置文件中指定destroy-method方法来定义销毁逻辑。

  1. 面试题:Spring中的Bean装配有哪些方式?

答案:Spring中的Bean装配有三种方式:

  • XML配置:通过在XML配置文件中声明Bean的定义和依赖关系,然后由Spring容器来加载和装配Bean。

  • 注解:通过在Java类中使用注解(如@Component、@Autowired等),告诉Spring容器如何加载和装配Bean。

  • Java配置:通过在Java类中使用@Configuration和@Bean等注解,手动配置和装配Bean。

  1. 面试题:Spring中的依赖注入有哪几种方式?

答案:Spring中的依赖注入有三种方式:

  • 构造器注入:通过构造器来注入Bean的依赖。

  • Setter方法注入:通过Setter方法来注入Bean的依赖。

  • 接口注入:通过接口来注入Bean的依赖,主要用于集合类型的依赖注入。

  1. 面试题:Spring中的AOP是什么?它的作用是什么?

答案:AOP是指面向切面编程,它是一种编程范式,可以实现将跨模块的功能抽象出来,然后通过动态代理的方式将这些功能应用到目标模块中。在Spring框架中,AOP可以实现事务管理、日志记录、权限控制等功能的复用和解耦。

  1. 面试题:Spring框架中的事务管理有哪些方式?

答案:Spring框架中的事务管理有两种方式:

  • 编程式事务管理:通过编写代码来管理事务,需要手动在代码中开启、提交或回滚事务。使用编程式事务管理需要更多的代码和处理逻辑,一般适用于复杂的事务场景。

  • 声明式事务管理:通过在配置文件或注解中声明事务的属性,由Spring框架自动管理事务的开始、提交或回滚。声明式事务管理更加简洁,适用于普通的事务场景。

  1. 面试题:Spring中的Bean作用域有哪些?它们有什么区别?

答案:Spring中的Bean作用域有以下几种:

  • singleton:单例模式,一个Spring容器中只会存在一个实例对象,默认的作用域。

  • prototype:原型模式,每次从容器中获取Bean时,都会创建一个新的实例对象。

  • request:每次HTTP请求都会创建一个新的Bean实例,仅在Web应用中有效。

  • session:每个HTTP Session都会创建一个新的Bean实例,仅在Web应用中有效。

  • global session:全局Session,通常在Portal应用中使用。

区别:singleton作用域是默认的作用域,它在容器中只有一个实例,适用于无状态的Bean;prototype作用域每次获取Bean时都会创建一个新的实例,适用于有状态的Bean。而request和session作用域是在Web应用中使用的,分别在每次HTTP请求和每个HTTP Session中创建一个新的实例。

(2)面试题:70道Spring面试题与答案

  1. 面试题:Spring中的Bean生命周期是什么?

答案:Spring中的Bean的生命周期包括以下几个阶段:

  • 实例化阶段:在这个阶段,Spring会根据配置文件或注解等方式,创建Bean的实例。

  • 属性赋值阶段:在实例化后,Spring会将配置的属性值注入到Bean中。

  • 初始化阶段:在属性赋值完成后,Spring会调用Bean的初始化方法,可以通过实现InitializingBean接口或在配置文件中指定init-method方法来定义初始化逻辑。

  • 使用阶段:在初始化后,Bean进入使用阶段,可以被其他Bean引用和使用。

  • 销毁阶段:当Spring容器关闭时,会调用Bean的销毁方法,可以通过实现DisposableBean接口或在配置文件中指定destroy-method方法来定义销毁逻辑。

  1. 面试题:Spring中的Bean装配有哪些方式?

答案:Spring中的Bean装配有三种方式:

  • XML配置:通过在XML配置文件中声明Bean的定义和依赖关系,然后由Spring容器来加载和装配Bean。

  • 注解:通过在Java类中使用注解(如@Component、@Autowired等),告诉Spring容器如何加载和装配Bean。

  • Java配置:通过在Java类中使用@Configuration和@Bean等注解,手动配置和装配Bean。

  1. 面试题:Spring中的依赖注入有哪几种方式?

答案:Spring中的依赖注入有三种方式:

  • 构造器注入:通过构造器来注入Bean的依赖。

  • Setter方法注入:通过Setter方法来注入Bean的依赖。

  • 接口注入:通过接口来注入Bean的依赖,主要用于集合类型的依赖注入。

  1. 面试题:Spring中的AOP是什么?它的作用是什么?

答案:AOP是指面向切面编程,它是一种编程范式,可以实现将跨模块的功能抽象出来,然后通过动态代理的方式将这些功能应用到目标模块中。在Spring框架中,AOP可以实现事务管理、日志记录、权限控制等功能的复用和解耦。