Home Spring 是什么?
Post
Cancel

Spring 是什么?

Spring 是什么

轻量级开源框架,核心是 IOC 和 AOP,用于简化 Java 开发。

Spring 的核心

IOC 控制反转 和 AOP 面向切面

  • DI(依赖注入)是 IOC 的具体实现
  • AOP 默认对接口用 JDK 动态代理(基于接口反射),对类用 CGLIB 动态代理(基于子类字节码生成)
  • AOP 核心思想:分离业务逻辑与横切关注点,提高代码复用性和可维护性

Spring 框架的主要模块

  • 核心模块:Spring Core(IOC 容器)、Spring Context(上下文,扩展 Core)、Spring AOP(切面编程)。
  • 其他模块:Spring JDBC(数据库操作)、Spring Transaction(事务管理)、Spring Web(Web 支持)、Spring MVC(MVC 框架)、Spring Test(测试支持)。

Spring Bean 的生命周期

  • 实例化(new 对象)→ 属性赋值(DI)→ 初始化(InitializingBean、@PostConstruct)→ 使用 → 销毁(DisposableBean、@PreDestroy)
  • 关键节点:BeanFactoryPostProcessor(实例化前修改 Bean 定义)、BeanPostProcessor(初始化前后增强)。

Bean 的作用域

  • singleton(单例,默认)、prototype(多例,每次getBean都是新的实例)、request(Web 中,一次请求一个)、session(Web 中,一个会话一个)。
  • 单例 vs 多例:singleton 容器中只有一个实例,线程不安全需注意;prototype 每次获取都新建实例。

SpringBoot

Spring Boot 是 “约定优于配置” 的快速开发框架

Spring 事务的隔离级别

隔离级别:DEFAULT(默认,继承数据库)、READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ、SERIALIZABLE。 默认值:MySQL 中默认 REPEATABLE_READ,Oracle 中默认 READ_COMMITTED。

Spring 事务的传播机制

核心传播机制:REQUIRED(默认,当前无事务则新建,有则加入)、REQUIRES_NEW(无论是否有事务,都新建独立事务)、SUPPORTS(有事务则加入,无则非事务执行)。

Spring 事务的实现方式

  • 声明式事务(推荐):@Transactional 注解(基于 AOP),配置简单。
  • 编程式事务:通过 TransactionTemplate 手动控制事务,灵活性高但代码侵入性强。

Spring Web

Spring Web 提供 Web 应用基础能力;Spring MVC 利用这些能力实现 MVC 模式的 Web 框架

Spring MVC

Spring Web 的子模块,一个基于 MVC 模式的 Web 框架; 核心是 DispatcherServlet,负责请求分发,是前端控制器。

Spring Boot Actuator

作用:提供应用监控和管理功能(如健康状态、内存使用、请求统计等)。 常用端点(需在配置中暴露,如management.endpoints.web.exposure.include=*): /actuator/health:应用健康状态。 /actuator/info:应用信息(如版本、描述)。 /actuator/metrics:性能指标(如 JVM 内存、请求数)。 /actuator/env:环境变量和配置信息。 /actuator/shutdown:关闭应用(需开启management.endpoint.shutdown.enabled=true)。

weixin.png

公众号名称:怪味Coding
微信扫码关注或搜索公众号名称
This post is licensed under CC BY 4.0 by the author.