手把手带你写一个MiniSpring
26讲 | 6750人已学 | 8周搭建一个可用的Spring框架
手把手带你写一个MiniSpring
26讲 | 6750人已学
8周搭建一个可用的Spring框架
郭屹前 Sun Microsystems Java 研发工程师,开源软件 MiniSpring、MiniTomcat 开发者
郭屹,中国 Java 研发工程师鼻祖之一,曾在 Sun Microsystems 公司 Java 研发中心担任 J2EE 研发工程师,同时他也是 JDBC Driver、Minis 开发者,Norming 软件国际 CTO。 在长达 30 余年的编程生涯中,他经历了Java 技术的飞速发展,积累了丰富的行业经验和技术实践,有 MiniSpring、MiniTomcat、MiniRedis、MiniLanguage 等几款开源作品。除此之外,他还十分乐于分享自己的知识和经验,是技术类书籍《认识编程》和《Java 编程十五讲》的作者,一直以来都在通过写作、讲演等方式推动着编程社区的发展。
试听
首单特价
立即购买¥5999
VIP专属
领域会员免费
课程收录到: Java工程师
首单特价
立即购买¥5999
VIP专属
领域会员免费
手把手带你写一个MiniSpring
首单特价
立即购买¥5999
VIP专属
领域会员免费
课程收录到: Java工程师
首单特价
立即购买¥5999
VIP专属
领域会员免费
课程概述
课程目录
课程评价
购买须知

你将获得

  • Spring 核心源码即学即用
  • 系统掌握 IoC、AOP 等核心功能
  • 俯瞰 Spring 项目演进全过程
  • 30 年技术老兵的 Spring 编程心法

课程介绍

「极客时间出品」

Java 诞生二十几年来,一直是业界的主流语言和平台。而 Spring 是 Java 开发事实上的平台。因此深入理解 Spring 基础框架的底层原理很有必要,它能让我们以不变应万变,把握住技术快速流变中相对稳定的内核。在工作过程中也会更加高效准确地使用平台工具,提高应用程序的质量。

虽然 Spring 是开源的,但是面对如此庞大且复杂的源代码,很多技术人都会迷失其中。因此我们邀请到了前 Sun Microsystems Java 研发工程师,开源软件 MiniSpring、MiniTomcat 开发者郭屹,他将采取快速迭代的开发模式,从一个最简单的程序开始,一步步堆积演化,完善框架功能,最终实现 Spring 框架的核心:IOC、MVC、JDBC Template 和 AOP。

在这一步步的迭代过程中,我们会将Spring的底层原理融入代码中,一层层对照 Spring 框架的现有结构,让原理理解起来不再困难,让你应用起来更加得心应手。

课程设计

课程分成四大部分:IoC 容器、MVC、JDBC Tempalte 和 AOP。熟悉 Spring 框架的人也知道,这四大部分就是 Spring 框架的核心了。学好这些,今后你扩展到更多方面也会很容易。

第一部分:IoC 容器

这个部分我们会从一个极简的 IoC 容器开始,逐步扩展增强,最终实现一个完整的 IoC 容器,包含 Spring 框架对应的核心功能,实现 Bean 的管理。基于这个核心,逐步扩展到 MiniSpring 的其他特性。

第二部分:MVC

MVC 是 Spring 支持 Web 模式的程序结构,这个部分会带你先实现一个原始的 MVC 结构,然后会把 MVC 与第一部分的 IoC 容器结合起来,构成一个更大、更完整的框架。在一步步的构造过程中,你可以了解大师们是怎么逐步拆解这个 Servlet 的功能的,把专业的事情交给专门的部件去做,最后构建成一个完整的体系。

第三部分:JDBC Tempalte

JDBC Tempalte 是 Spring 对数据访问的一个实现。通过这部分的学习,你可以了解到整个 JDBC Template 的实现都是运用了前面 IoC 管理 Bean 的方式,将数据的访问抽象成一个个 Bean,注入到系统中。你会更深刻地体会到 IoC 容器的功用。

第四部分:AOP

AOP 是 Spring 框架中实践面向切面编程的探索。面向对象和面向切面,两者一纵一横,编织成完整的程序结构。在这一部分,你会了解到 Spring AOP 所采用的一个实现方式:JDK 动态代理。了解其中的原理,还有用这个技术动态插入业务逻辑的方法。

最后你将再一次看到 AOP 与 IoC 的结合,使用 BeanPostProcessor,通过自动化机制生成动态代理。这时你就会体会到 “IoC 是 Spring 框架核心中的核心”这句话的深层含义了。

课程目录

适用人群

本课程适合已经学习过 Spring 框架并进行过编程实践,但对 Spring 框架底层的原理及设计模式认知不够深入的工程师加入学习。