手把手带你写一个MiniSpring- 极客时间课程推荐/优惠

手把手带你写一个MiniSpring--极客时间课程推荐/优惠

8周搭建一个可用的Spring框架
郭屹前 Sun Microsystems Java 研发工程师,开源软件 MiniSpring、MiniTomcat 开发者
专栏 | 26讲 | 6612人已学习
优惠价¥59原价:99
去官网优惠购买

版权声明

本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

你将获得

  • 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 IoC

  • 01|原始IoC:如何通过BeanFactory实现原始版本的IoC容器?
  • 02|扩展Bean:如何配置constructor、property和init-method?
  • 03|依赖注入:如何给Bean注入值并解决循环依赖问题?
  • 04|增强IoC容器:如何让我们的Spring支持注解?
  • 05|实现完整的IoC容器:构建工厂体系并添加容器事件
  • 06|再回首:如何实现一个IoC容器?

第二章:实现Spring MVC

  • 07|原始MVC:如何通过单一的Servlet拦截请求分派任务?
  • 08|整合IoC和MVC:如何在Web环境中启动IoC容器?
  • 09|分解Dispatcher:如何把专门的事情交给专门的部件去做?
  • 10|数据绑定: 如何自动转换传入的参数?
  • 11|ModelAndView :如何将处理结果返回给前端?
  • 12|再回首:如何实现Spring MVC?

第三章:实现JdbcTemplate

  • 13|JDBC访问框架:如何抽取JDBC模板并隔离数据库?
  • 14|增强模板:如何抽取专门的部件完成专门的任务?
  • 15|mBatis:如何将SQL语句配置化?
  • 16|再回首:JdbcTemplate章节小结

第四章:实现Spring AOP

  • 17|动态代理:如何在运行时插入逻辑?
  • 18|拦截器 :如何在方法前后进行拦截?
  • 19|Pointcut :如何批量匹配代理方法?
  • 20|AutoProxyCreator:如何自动添加动态代理?
  • 21|再回首: 如何实现Spring AOP?

结束语

  • 结束语|老兵回首,薪火相传
  • 期末测试|来赴一场满分之约吧!

GPT加餐

  • 加餐|GPT编程(上) :如何用ChatGPT辅助我们编程?
  • 加餐|GPT编程(下) :如何利用OpenAI的API解决语言处理类任务?

作者介绍

郭屹,中国 Java 研发工程师鼻祖之一,曾在 Sun Microsystems 公司 Java 研发中心担任 J2EE 研发工程师,同时他也是 JDBC Driver、Minis 开发者,Norming 软件国际 CTO。 在长达 30 余年的编程生涯中,他经历了Java 技术的飞速发展,积累了丰富的行业经验和技术实践,有 MiniSpring、MiniTomcat、MiniRedis、MiniLanguage 等几款开源作品。除此之外,他还十分乐于分享自己的知识和经验,是技术类书籍《认识编程》和《Java 编程十五讲》的作者,一直以来都在通过写作、讲演等方式推动着编程社区的发展。

作者其他课程

手把手带你写一个MiniTomcat - 极客时间课程推荐/分享/优惠/折扣
手把手带你写一个MiniTomcat
6 周搭建一个实用的 Tomcat 框架
郭屹前 Sun Microsystems Java 研发工程师,开源软件 MiniSpring、MiniTomcat 开发者
专栏 | 2292人已学习
优惠价¥59原价:99
去官网优惠购买

推荐

从0开始做增长 - 极客时间课程推荐/分享/优惠/折扣
从0开始做增长
从0到1的增长实战方法论
刘津前宜人贷用户增长团队负责人,《破茧成蝶》系列图书作者,UGDlab创始人
专栏 | 24760人已学习
优惠价¥59原价:129
去官网优惠购买
Flink核心技术与实战 - 极客时间课程推荐/分享/优惠/折扣
Flink核心技术与实战
系统掌握流数据处理必杀技
张利兵第四范式数据中台架构师,Apache Flink贡献者
视频课 | 16513人已学习
优惠价¥68原价:199
去官网优惠购买
云原生架构与GitOps实战 - 极客时间课程推荐/分享/优惠/折扣
云原生架构与GitOps实战
即学即用,攻破云原生核心技术
王炜前腾讯云 CODING 架构师
专栏 | 6898人已学习
优惠价¥59原价:129
去官网优惠购买
分布式数据库30讲 - 极客时间课程推荐/分享/优惠/折扣
分布式数据库30讲
从功能特性到运行机制,讲透本质
王磊光大银行首席数据架构师
专栏 | 29681人已学习
优惠价¥59原价:129
去官网优惠购买
说透中台 - 极客时间课程推荐/分享/优惠/折扣
说透中台
从概念到落地一站通关
王健ThoughtWorks首席咨询师
专栏 | 42719人已学习
优惠价¥29原价:68
去官网优惠购买
数据中台实战课 - 极客时间课程推荐/分享/优惠/折扣
数据中台实战课
攻克数据中台建设中的技术难点
郭忆网易大数据专家
专栏 | 32456人已学习
优惠价¥59原价:99
去官网优惠购买