Spring5 核心机制:从依赖注入到自动化配置
这门课主要解决 Java 开发中「手动整合框架效率低、代码耦合度高」的问题。通过 Spring5 的核心机制,学习者能掌握如何用配置化或注解化方式管理 Bean 生命周期、依赖关系和作用域,避免传统 Java 开发中重复编写工厂类、IoC 容器初始化代码。这门课解决的是从零开始接触 Spring 框架的技术学习者,或已有 Java 基础(如面向对象、集合框架、JVM 基础)但缺乏框架整合经验的学习者。学习门槛不高,但需要学习者具备一定的代码调试能力。建议先看第2节入门案例,通过一个完整场景理解 IoC 如何让对象创建和依赖管理自动化。看完应能回答:Spring 的 IoC 原理是什么?Bean 的生命周期有哪些关键节点?如何用自动装配减少配置代码?学习顺序上,建议按课程目录顺序学习,不要跳过基础章节。
解耦实践:Bean 配置与外部化属性
课程的核心实践围绕 Bean 的声明式配置展开,包括传统 XML 配置(第4-8节)和注解驱动(第11节)。针对能力缺口,第4-5节重点讲解 Bean 的元数据配置,学习者需结合资料包中的简单 Web 应用案例,动手修改 `applicationContext.xml` 文件实现用户服务的依赖注入。第10节的外部化属性配置是进阶关键,建议对比 `application.properties` 和 `application.yml` 两种格式,尝试动态读取数据库连接信息。配合练习时,应准备一个多模块项目,将配置文件拆分为 `dev`、`prod` 环境,验证外部属性文件加载的正确性。学完能独立完成一个基础 Spring 应用,区分 Bean 的原型作用域和单例作用域差异,并基于注解实现配置简化。在资料用法上,课程配套的代码示例需要结合 Eclipse 的 Spring 工具插件进行调试,重点关注 `BeanDefinition` 对象的创建过程。
FactoryBean 与生命周期管理:自动化与扩展性
课程后半段通过工厂模式(第13-14节)和 `@PostConstruct` 等注解,强化对复杂 Bean 初始化流程的控制。针对 `FactoryBean` 的使用难点,建议先理解其 `getObject()` 方法与普通 `Bean` 差异,再通过资料包中的自定义 `SqlSessionFactoryBean` 案例,练习如何返回复杂对象并实现自动注册。Bean 生命周期管理(第12节)的配套练习应包含:验证 `@Scope` 注解对事务管理的支持,通过 AOP 代理观察 `@PreDestroy` 的执行时机。所有实践需结合 `@Conditional` 等条件注解,测试不同部署环境下的配置生效。学完后能独立设计可扩展的 Bean 配置方案,例如用 `@ConfigurationProperties` 将配置参数绑定到强类型 Java 对象,或用 `CachingProxyFactoryBean` 实现缓存代理。在资料用法上,建议将课程中的配置案例迁移到 Spring Boot 项目中,对比两者配置方式的差异,加深理解。
课程目录
1 Spring的概述和准备Eclipse的Spring工具插件 (22:01) 2 Spring的入门案例对IOC进一步认识 (45:10) 3 就上面的入门案例对解耦合进一步分析和总结 (34:51) 4 spring的配置文件Bean的配置1 (32:55) 5 spring的配置文件中的Bean的配置2 (29:58) 6 Bean配置中的细节 (17:56) 7 Bean配置的自动装配 (20:46) 8 bean配置中的继承和依赖 (16:01) 9 bean对象的作用域的配置 (07:48) 10 在spring的配置文件中使用外部的属性文件 (18:26) 11 spring的表示式语言 (25:32) 12 spring中bean对象的生命周期 (30:33) 13 spring工厂方式配置bean对象 (30:05) 14 FactoryBean的使用方法 (40:19) 15 用注解的方式来配置Bean初步 (38:00) 16 @Autowired注解 (32:46) 17 component-scan标签详解 (28:22) 18 spring支持的有泛型的依赖注入 (34:07) 19 spring的AOP切面变成的概述 (42:39) 20 spring的AOP初步的用法案例 (46:35) 21 spring的AOP中切入点表示式的进一步讲解 (11:18) 22 spring的AOP中各种类型的通知详解 (35:00) 23 基于xml配置文件的AOP使用 (13:26) 24 Spring中使用JdbcTemplate访问数据库 (19:55) 25 Spring中使用JdbcTemplate访问数据库案例演示 (26:52) 26 JdbcTemplate在项目中的应用讨论 (11:35) 27 具名参数 (19:08) 28 以买衣服为例讲解Spring例的事务1 (26:37) 29 以买衣服为例讲解Spring例的事务2 (12:26) 30 基于注解实现spring的声明式事务 (25:23) 31 spring的事务的其他属性介绍 (07:43) 32 基于XML配置文件的spring事务使用方法 (13:32) 33 写个JavaWeb例子整合Spring和Hibernate1 (24:51) 34 写个JavaWeb例子整合Spring和Hibernate2 (36:48) 35 写个JavaWeb例子整合Spring和Hibernate3 (23:28)





