课程介绍
极客时间手把手带你写一个MiniSpring,由乐学编程课堂网(lexuecode.com)整理发布,网盘分享下载。课程资源是以.md、pdf和mp3形式(非视频)发放。课程分成四大部分: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 框架核心中的核心”这句话的深层含义了。
课程目录
├── [ 15M] 01|原始IoC:如何通过BeanFactory实现原始版本的IoC容器?.mp3
├── [3.6M] 01|原始IoC:如何通过BeanFactory实现原始版本的IoC容器?.pdf
├── [ 13M] 02|扩展Bean:如何配置constructor、property和init-method?.mp3
├── [4.3M] 02|扩展Bean:如何配置constructor、property和init-method?.pdf
├── [ 18M] 03|依赖注入:如何给Bean注入值并解决循环依赖问题?.mp3
├── [4.2M] 03|依赖注入:如何给Bean注入值并解决循环依赖问题?.pdf
├── [ 13M] 04|增强IoC容器:如何让我们的Spring支持注解?.mp3
├── [3.7M] 04|增强IoC容器:如何让我们的Spring支持注解?.pdf
├── [ 10M] 05|实现完整的IoC容器:构建工厂体系并添加容器事件.mp3
├── [3.7M] 05|实现完整的IoC容器:构建工厂体系并添加容器事件.pdf
├── [3.6M] 06|再回首:如何实现一个IoC容器?.mp3
├── [2.0M] 06|再回首:如何实现一个IoC容器?.pdf
├── [ 11M] 07|原始MVC:如何通过单一的Servlet拦截请求分派任务?.mp3
├── [4.8M] 07|原始MVC:如何通过单一的Servlet拦截请求分派任务?.pdf
├── [ 18K] 08|整合IoC和MVC:如何在Web环境中启动IoC容器?.md
├── [ 10M] 08|整合IoC和MVC:如何在Web环境中启动IoC容器?.mp3
├── [2.8M] 08|整合IoC和MVC:如何在Web环境中启动IoC容器?.pdf
├── [ 23K] 09|分解Dispatcher:如何把专门的事情交给专门的部件去做?.md
├── [9.0M] 09|分解Dispatcher:如何把专门的事情交给专门的部件去做?.mp3
├── [1.5M] 09|分解Dispatcher:如何把专门的事情交给专门的部件去做?.pdf
├── [ 26K] 10|数据绑定-如何自动转换传入的参数?.md
├── [ 10M] 10|数据绑定-如何自动转换传入的参数?.mp3
├── [2.6M] 10|数据绑定-如何自动转换传入的参数?.pdf
├── [ 10M] 11|ModelAndView:如何将处理结果返回给前端?.mp3
├── [1.9M] 11|ModelAndView:如何将处理结果返回给前端?.pdf
├── [6.7K] 12|再回首:如何实现SpringMVC?.md
├── [2.7M] 12|再回首:如何实现SpringMVC?.mp3
├── [1.3M] 12|再回首:如何实现SpringMVC?.pdf
├── [ 21K] 13|JDBC访问框架:如何抽取JDBC模板并隔离数据库?.md
├── [ 12M] 13|JDBC访问框架:如何抽取JDBC模板并隔离数据库?.mp3
├── [1.6M] 13|JDBC访问框架:如何抽取JDBC模板并隔离数据库?.pdf
├── [ 15K] 14|增强模板:如何抽取专门的部件完成专门的任务?.md
├── [7.1M] 14|增强模板:如何抽取专门的部件完成专门的任务?.mp3
├── [2.5M] 14|增强模板:如何抽取专门的部件完成专门的任务?.pdf
├── [ 19K] 15|mBatis:如何将SQL语句配置化?.md
├── [8.5M] 15|mBatis:如何将SQL语句配置化?.mp3
├── [1.9M] 15|mBatis:如何将SQL语句配置化?.pdf
├── [5.8K] 16|再回首:JdbcTemplate章节小结.md
├── [2.2M] 16|再回首:JdbcTemplate章节小结.mp3
├── [583K] 16|再回首:JdbcTemplate章节小结.pdf
├── [ 12M] 17|动态代理:如何在运行时插入逻辑?.mp3
├── [1.7M] 17|动态代理:如何在运行时插入逻辑?.pdf
├── [ 19K] 18|拦截器:如何在方法前后进行拦截?.md
├── [9.8M] 18|拦截器:如何在方法前后进行拦截?.mp3
├── [1.3M] 18|拦截器:如何在方法前后进行拦截?.pdf
├── [ 16K] 19|Pointcut:如何批量匹配代理方法?.md
├── [8.0M] 19|Pointcut:如何批量匹配代理方法?.mp3
├── [1.3M] 19|Pointcut:如何批量匹配代理方法?.pdf
├── [ 13K] 20|AutoProxyCreator:如何自动添加动态代理?.md
├── [7.9M] 20|AutoProxyCreator:如何自动添加动态代理?.mp3
├── [1.9M] 20|AutoProxyCreator:如何自动添加动态代理?.pdf
├── [7.7K] 21|再回首:如何实现SpringAOP.md
├── [2.4M] 21|再回首:如何实现SpringAOP.mp3
├── [1.8M] 21|再回首:如何实现SpringAOP.pdf
├── [9.9M] 加餐|GPT编程(上):如何用ChatGPT辅助我们编程?.mp3
├── [3.9M] 加餐|GPT编程(上):如何用ChatGPT辅助我们编程?.pdf
├── [ 28K] 加餐|GPT编程(下):如何利用OpenAI的API解决语言处理类任务.md
├── [6.9M] 加餐|GPT编程(下):如何利用OpenAI的API解决语言处理类任务.mp3
├── [1.7M] 加餐|GPT编程(下):如何利用OpenAI的API解决语言处理类任务.pdf
├── [ 13M] 开篇词|“眼脑手”结合,搞定Spring框架底层原理.mp3
├── [4.8M] 开篇词|“眼脑手”结合,搞定Spring框架底层原理.pdf
├── [420K] 期末测试|来赴一场满分之约吧!.pdf
├── [7.8M] 结束语|老兵回首,薪火相传.mp3
└── [1.1M] 结束语|老兵回首,薪火相传.pdf
更新日志
2023-6-14:已更新完结,百度云盘下载。