Spring 总结

Spring 总结

Spring-全面详解(学习总结)-CSDN博客
Spring 是一个轻量级的 Java 开发框架,通过 IoC 和 AOP 两大核心特性,简化企业级应用的开发。

  • IoC 让你不 new 对象,AOP 让你不写重复代码,Spring 让你专注业务逻辑。

两大核心

核心 全称 解决什么问题 核心思想
IoC 控制反转 对象之间的高耦合问题 "别找我们,我们找你"——对象不再自己创建依赖,而是由容器注入
AOP 面向切面编程 代码中的重复和污染问题 "关注点分离"——把日志、事务等通用逻辑抽离成切面

IoC 详解

传统方式 vs Spring 方式

// ❌ 传统:自己 new,高耦合
public class UserService {
    private UserDao dao = new UserDao();  // 硬编码依赖
}

// ✅ Spring:声明需要,由容器注入
@Service
public class UserService {
    @Autowired
    private UserDao dao;  // Spring 自动注入
}

核心概念

  • Bean:由 Spring 容器管理的对象
  • 容器:管理所有 Bean 的创建、装配、销毁
  • DI(依赖注入):容器把依赖的对象"注入"给当前对象

AOP 详解

传统方式 vs AOP 方式

// ❌ 传统:每个方法都要写重复代码
public void addUser() {
    startLog(); openTx();    // 重复1
    // 业务逻辑
    commitTx(); endLog();    // 重复2
}

// ✅ AOP:业务代码纯净,通用逻辑集中管理
@Around("execution(* com.example.service.*.*(..))")
public Object around(ProceedingJoinPoint pjp) {
    startLog(); openTx();    // 只写一次
    Object result = pjp.proceed();
    commitTx(); endLog();
    return result;
}

核心概念

概念 说明 比喻
切面 (Aspect) 横切关注点的模块化 安检流程
切点 (Pointcut) 在哪些方法应用 哪些入口需要安检
通知 (Advice) 在什么时候做什么 安检的具体动作
织入 (Weaving) 将切面应用到目标 安装安检设备

Spring Boot

基于Spring框架的、一套极其彻底的“自动化配置”方案和“应用封装”规范。

Spring Boot在“运行时业务逻辑”层面,没有增加革命性的新技术,它依然是Spring。但它从“构建期”到“运行期”之间,创造了一套强大的“自动化配置引擎”和“依赖管理生态”。

这使得使用Spring的体验,从“专家级的手动零件组装”,变成了“普通工程师的整机开机即用”。

维度 传统Spring(手动配置) Spring Boot(你的描述) 更精确的描述
技术底层 Spring容器 仍然是Spring容器 无变化
配置方式 XML / Java Config(手写) 自动化 + 少量 application.properties 新增:智能决策层(@Conditional)
依赖引入 手动确定几十个jar包的版本 只需引入 starter 新增:生态级版本管理(BOM)
部署方式 打成WAR包 -> 部署到Tomcat 打成FAT JAR -> java -jar 新增:内嵌服务器技术(Embedded Server)
开发效率 低(启动慢,配置多) 极高 质的飞跃
posted @ 2026-05-14 13:50  deyang  阅读(6)  评论(0)    收藏  举报