知识点:
1.Spring课程概述
知识点 | 核心内容 | 重点 |
Spring框架概述 | 轻量级容器框架,封装复杂逻辑,需理解IOC、AOP等核心机制 | 容器框架 vs 普通框架、封装带来的理解门槛 |
学习难点 | 动态代理、反射、注解、IO操作、XML解析、容器(如ConcurrentHashMap)的综合应用 | 动态代理实现原理、反射与注解的协同机制 |
课程设计亮点 | 通过手动实现Spring底层机制(如IOC、AOP)加深理解,避免源码阅读的混乱 | 手动实现 vs 源码分析、Bin Post Processor机制 |
Spring重要性 | 后续SSM、Spring Boot、Spring Cloud等框架的基础,核心地位不可跳过 | 基础不牢导致后续学习困难 |
学习方法 | 跟随课程节奏完成作业和代码实践,强调Java基础的重要性 | 理论+实践的结合、基础知识的回溯应用 |
2.官网和下载
知识点 | 核心内容 | 重点 |
Spring框架概述 | Spring是一组技术/框架的集合(如Spring Boot、Spring Cloud等),而非单一技术 | Spring家族包含多个子项目,需区分核心框架(Spring Framework)与其他组件 |
官方资料使用 | 通过官网和GitHub获取文档、源码及JAR包 | 官网访问可能受地区限制 |
版本管理 | 强调版本一致性(示例:5.3.8),避免兼容性问题 | 新版与教学版本差异可能导致API不兼容 |
框架本质 | 框架由JAR包(含class文件、源码、JavaDoc)组成,引入项目即可使用 | 区分运行依赖(class文件)与开发依赖(源码/文档) |
下载流程 | 通过GitHub仓库下载指定版本JAR包(如5.3.8的spring-framework-5.3.8.RELEASE-dist.zip) | 需注意下载完整包(含libs/docs)而非单一模块 |
学习重点 | 掌握机制与原理而非特定版本,以应对版本迭代 | 版本更新可能优化API但核心原理不变 |
环境配置 | 严格遵循版本(如5.3.8),避免自行升级 | 版本差异可能导致环境调试困难 |
3.文档介绍
知识点 | 核心内容 | 重点 |
Spring框架文档类型 | 在线文档、离线文档(HTML/PDF)、离线API(JavaDoc) | 在线文档默认显示最新版,需注意版本切换 |
在线文档使用 | 通过URL访问,包含Overview/Core/Data等分类模块 | 需手动复制链接到浏览器地址栏 |
离线文档结构 | 解压ZIP后获取docs文件夹,含API(类/接口方法)和reference(框架介绍) | PDF与HTML内容一致,但格式不同 |
离线API查询 | 通过Java doc API查看包/类/方法详情(如aop、beans包) | 按需查询,避免全量学习 |
核心学习方法 | “用到再查”原则,重点掌握高频API(如buildMessage方法参数说明) | 类字段、构造器、方法说明需结合实践理解 |
- 官方资源:
- 在线文档:https://docs.spring.io/spring-framework/docs/current/reference/html/
- 离线文档路径:spring-framework-5.3.8\docs\reference\html\index.html
- 离线API路径:spring-framework-5.3.8\docs\javadoc-api\index.html
4.内容介绍
知识点 | 核心内容 | 重点 |
IOC(控制反转) | Spring通过控制反转技术管理Java对象 | 控制反转概念(传统对象创建 vs. Spring托管) |
AOP(切面编程) | 横向切面编程技术,实现功能解耦 | 动态代理实现原理(JDK/CGLIB) |
JDBC Template | Spring提供的数据库访问技术 | 与传统JDBC对比(资源管理简化) |
声明式事务 | 基于IOC和AOP实现的事务管理 | 事务传播机制(REQUIRED/NESTED等) |
学习重点 | IOC和AOP是核心机制,需深入理解 | 声明式事务依赖前两者,应用性强但理解难度较高 |
5.几个重要概念
知识点 | 核心内容 | 重点 |
Spring框架整合能力 | Spring是管理其他框架的框架,可整合MyBatis等第三方框架 | 理解"框架的框架"概念 |
IOC控制反转 | 将对象创建权交给Spring容器,通过XML/注解配置对象及其依赖关系 | 传统new对象 vs 容器获取对象 |
AOP面向切面编程 | 横向切面编程技术,实现功能解耦 | 需区分IOC与AOP应用场景 |
传统开发模式 | 程序员主动读取配置+创建对象(new/反射) | 反射机制创建对象原理 |
Spring开发模式 | 容器自动创建对象+管理依赖,程序直接使用现成对象 | XML配置与注解配置区别 |
数据库连接案例 | 对比JDBC传统连接方式与Spring管理方式 | 连接池配置方式变化 |
对象依赖管理 | 容器自动解决对象间引用关系(如EmpAction依赖EmpService) | @Resource注解作用 |
6.几个重要概念
知识点 | 核心内容 | 重点 |
依赖注入(DI) | DI是IOC的另一种叫法,通过容器自动管理对象依赖关系,避免手动new操作 | DI与IOC的关系(DI是IOC的具体实现方式) |
Spring核心价值 | 通过配置/注解管理对象生命周期和依赖关系,解耦业务代码与对象创建逻辑 | 传统开发模式对比(Servlet→Service→DAO需逐层new) |
容器作用 | 存储预配置对象及依赖关系,支持通过get直接获取实例 | 容器与配置文件/注解的关联(XML vs 注解) |
开发模式转变 | 程序员专注业务逻辑,容器负责对象创建和依赖注入 | new操作消失的原因(容器隐式完成) |
JDBC Template示例 | Spring提供的现成工具类,可直接从容器调用 | 内置对象 vs 自定义对象的注入方式 |
学习路径 | 先理解整体框架(容器、DI、IOC),再逐步深入底层原理 | 快速入门与原理理解的平衡 |
7.快速入门
知识点 | 核心内容 | 重点 |
Spring IOC基础配置 | 通过XML配置文件定义Java Bean(Monster类)并注入属性值 | 必须提供无参构造器(反射创建对象的基础) |
Spring开发环境搭建 | 引入核心jar包:beans/core/context/expression + commons-logging | 各jar包功能区分(初学者易混淆) |
Bean属性配置 | <bean>标签的class/id属性 + <property>子标签赋值 | ID唯一性(容器中获取对象的唯一标识) |
反射机制应用 | Spring底层通过反射调用无参构造器实例化对象 | 属性未赋值时的默认值问题(与直接new对象区别) |
XML配置文件规范 | beans.xml文件结构:根标签<beans>包含多个<bean>定义 | class属性必须写全限定名(包名+类名) |