Spring面试题, Spring 和 Spring MVC 的关系是什么?
Spring面试题, Spring 和 Spring MVC 的关系是什么?
QA
Step 1
Q:: Spring 和 Spring MVC 的关系是什么?
A:: Spring 是一个开源的 Java 框架,提供了全面的基础设施支持,旨在简化企业级 Java 应用开发。它主要关注于依赖注入和面向方面编程。Spring MVC 是 Spring 框架的一个模块,用于构建基于 MVC(模型-视图-
控制器)架构的 web 应用程序。Spring MVC 提供了一套注解驱动的编程模型,使开发者能够更方便地处理 web 请求、表单数据绑定和视图渲染。
Step 2
Q:: 什么是依赖注入?在 Spring 中如何实现?
A:: 依赖注入(DI)是一种设计模式,用于将对象的依赖关系从类中分离出来,通过外部配置注入。Spring 通过构造器注入、Setter 方法注入和字段注入三种方式实现 DI。Spring 的核心容器(BeanFactory 和 ApplicationContext)负责管理对象的创建和依赖关系注入。
Step 3
Q:: Spring 中的 Bean 生命周期是什么样的?
A:: Spring 中的 Bean 生命周期包括以下几个阶段:实例化、属性注入(依赖注入)、BeanNameAware、BeanFactoryAware、ApplicationContextAware 等接口的调用、BeanPostProcessor 的前置处理、初始化方法调用、BeanPostProcessor 的后置处理、Bean 的使用、销毁前处理(DisposableBean 和 destroy-
method)。
Step 4
Q:: 如何在 Spring 中管理事务?
A:: Spring 提供了声明式事务管理和编程式事务管理两种方式。声明式事务管理通过 @
Transactional 注解实现,可以应用在类或方法上,Spring 框架会自动处理事务的开始、提交和回滚。编程式事务管理则需要通过 TransactionTemplate 或 PlatformTransactionManager 手动管理事务的边界。