手把手带你写一个 MiniSpring
8 周搭建一个可用的 Spring 框架
郭屹  前 Sun Microsystems Java 研发工程师,开源软件 MiniSpring、MiniTomcat 开发者
专栏
已完结·共 26 讲
|
6174 人已学
|
收藏

你将获得

  • 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 框架底层的原理及设计模式认知不够深入的工程师加入学习。

特别放送

订阅须知

  1. 订阅成功后,推荐通过“极客时间”App 端、Web 端学习。
  2. 本专栏为虚拟商品,交付形式为图文 + 音频,一经订阅,概不退款。
  3. 订阅后分享海报,每邀一位好友订阅有现金返现。
  4. 戳此先充值再购课更划算,还有最新课表、超值赠品福利等。
  5. 企业采购推荐使用“极客时间企业版”便捷安排员工学习计划,掌握团队学习仪表盘。
  6. 戳此申请学生认证,订阅课程享受原价 5 折优惠。
  7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。
讲师

郭屹

前 Sun Microsystems Java 研发工程师,开源软件 MiniSpring、MiniTomcat 开发者

郭屹,中国 Java 研发工程师鼻祖之一,曾在 Sun Microsystems 公司 Java 研发中心担任 J2EE 研发工程师,同时他也是 JDBC Driver、Minis 开发者,Norming 软件国际 CTO。 在长达 30 余年的编程生涯中,他经历了 Jav...查看更多
编辑推荐
讲师的其他课程
手把手带你写一个 MiniTomcat
郭屹
前 Sun Microsystems Java 研发工程师

22讲 | 1798 人已学习

¥59¥99
包含这门课的学习路径

Java工程师

29门课程 154.7w人学习
看过的人还看了
MySQL 实战 45 讲
林晓斌
网名丁奇,前腾讯云数据库负责人

49讲 | 224923 人已学习

¥68¥199
设计模式之美
王争
前 Google 工程师,《数据结构与算法之美》专栏作者

113讲 | 123454 人已学习

¥98¥299
数据结构与算法之美
王争
前 Google 工程师

81讲 | 283787 人已学习

¥68¥199
左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家

119讲 | 180989 人已学习

¥98¥399
Redis 核心技术与实战
蒋德钧
中科院计算所副研究员

53讲 | 81730 人已学习

¥68¥199
Java 核心技术面试精讲
杨晓峰
前 Oracle 首席工程师

44讲 | 125959 人已学习

¥59¥129