跳转至

谈谈你对 Spring 的理解

一、Spring 是什么

Spring 是 Java 后端的一站式框架,核心是 IoC 容器 + AOP

二、核心思想

IoC(控制反转)

对象不用自己 new,交给容器管理:

@Service
public class UserService {
    @Autowired
    private UserDao userDao;
}

容器负责创建、注入、管理生命周期。

AOP(面向切面)

横切逻辑(日志、事务、权限)和业务代码分离:

@Around("@annotation(log)")
public Object log(ProceedingJoinPoint pjp) { ... }

三、主要模块

  • Spring Core:IoC 容器。
  • AOP:切面。
  • Spring MVC:Web。
  • Spring TX:声明式事务。
  • Spring JDBC:数据访问。
  • Spring Boot:自动配置起步。

四、解决什么问题

  1. 解耦:对象之间通过接口,不直接依赖实现。
  2. 统一管理:单例、生命周期、配置。
  3. 横切关注点:事务、日志不侵入业务。
  4. 集成:和各种第三方库无缝集成。

五、一句话

Spring 是个大容器,帮你管理对象,提供切面,让你专注业务。

面试加分

Spring 的灵魂是 IoC 和 AOP,其他都是围绕这两个展开。