03 Spring / Spring Boot

这一块在面试里是干什么的

主要看你:

  • 是否真正做过 Java 后端
  • 是否理解 Spring 不是“会用注解”那么简单
  • 是否具备基本框架认知

Spring 核心先记两个

  • IOC:控制反转
  • AOP:面向切面编程

什么是 IOC

传统写法里,对象由程序员自己 new

Spring 里,对象交给容器统一创建和管理,这就是 IOC。

一句话:

“对象不再由我手动管理,而是交给 Spring 容器管理。”

什么是 DI

DI 是依赖注入,是 IOC 的实现方式之一。

比如一个 service 依赖 dao,Spring 自动把 dao 注入进去。

什么是 Bean

被 Spring 容器管理的对象就叫 Bean。

Bean 的作用域

最常见:

  • singleton:单例,默认
  • prototype:多例

面试一般先会说默认单例即可。

AOP 是干什么的

把和业务无关但很多地方都要做的功能抽出来统一处理。

典型场景:

  • 日志
  • 权限
  • 事务
  • 监控

一句话:

“AOP 让公共逻辑和业务逻辑解耦。”

Spring Bean 生命周期

短期先记主干:

  1. 实例化
  2. 属性注入
  3. 初始化
  4. 使用
  5. 销毁

@Autowired@Resource

零基础先这样记:

  • @Autowired:Spring 常用,默认按类型注入
  • @Resource:更偏 JDK 标准,常按名称注入

Spring Boot 为什么流行

因为它做了很多自动配置,减少样板代码,开箱即用。

一句话:

“Spring Boot 是为了更快搭项目,不是替代 Spring。”

自动配置原理先记大意

Spring Boot 根据类路径、配置文件、条件注解,自动帮你装配 Bean。

不要一开始死背源码。

常见注解

  • @Component
  • @Service
  • @Repository
  • @Controller
  • @RestController
  • @Configuration
  • @Bean

高频题:

@Controller@RestController

  • @Controller:通常返回页面
  • @RestController:通常返回 JSON

事务是什么

事务是一组操作,要么都成功,要么都失败。

事务四大特性:

  • 原子性
  • 一致性
  • 隔离性
  • 持久性

Spring 事务常见高频题

@Transactional 为什么会失效

常见原因:

  • 方法不是 public
  • 自调用
  • 异常被吞掉
  • 没有被 Spring 管理

什么是事务传播行为

调用一个方法时,如果它本身也有事务配置,Spring 要决定它加入旧事务还是新开事务。

最常见只先记:

  • REQUIRED:默认,有事务就加入,没有就新建
  • REQUIRES_NEW:总是新开事务

Spring MVC 流程

先记最简版:

  1. 请求进入 DispatcherServlet
  2. 找到对应 Controller 方法
  3. 执行方法
  4. 返回结果并响应给前端

过滤器、拦截器、AOP 区别

面试很爱问。

  • Filter:Servlet 层,最靠前
  • Interceptor:Spring MVC 层
  • AOP:面向方法切面

一句话:

“Filter 处理请求入口,Interceptor 处理控制器调用前后,AOP 处理方法级公共逻辑。”

Spring Boot 启动流程怎么答

不要一上来背源码。

可先说:

“本质上就是启动 Spring 容器,做组件扫描、自动配置、创建 Bean,最后启动内嵌 Web 容器对外提供服务。”

高频快答

BeanFactoryApplicationContext

  • BeanFactory:更基础
  • ApplicationContext:更常用,功能更完整

为什么 Spring 默认单例

节省资源,便于统一管理,大多数无状态 Bean 也适合单例。

循环依赖一定能解决吗

不是所有情况都能,常见单例 + setter 注入场景 Spring 能处理,构造器循环依赖通常不行。

这一章最小记忆包

  • IOC 是对象交给容器管理
  • DI 是 IOC 的实现方式
  • AOP 用于抽离公共逻辑
  • Spring Boot 靠自动配置提升开发效率
  • 事务重点记 ACID、传播行为、失效场景
  • Filter、Interceptor、AOP 要会区分