百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide
2025/1/7 23:03:38
本文主要是介绍百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
穷举法:
把生活所见所闻全部归纳到我们所学的知识体系中,加以思考变成自己的东西。(举例子)
类比法:
把自己熟悉的方法(利用自己已有的知识体系),去对比学习新的知识。
Spring 怎么学?
1. 环境准备好了没有?
2. 项目里边有红叉❌
学习源码,不一定要让项目跑起来,报一两个红叉其实不要紧。
看:是什么?能干啥
想:为什么?
实践:怎么做?
调试的时候,完全可以在运行环境中,导入 jar
包就能调试(有针对性地打断点)
3. 如何从 0 -1 去学习
1.要先看官网
然后去网上找资料参考(有了基本的概念,产生了很多问题,很多猜想)
2.然后,看项目结构
(更加具体地了解,还是产生很多猜想)
3.为什么会存在 Spring 这个东西?
能做什么,做了什么,要我来做,我该怎么做?
4.IOC、AOP、DI、BeanFactory 等这样一系列零碎的概念(人云亦云)
5.能做什么:Java 中的万能胶
6.做了什么: JAVA Bean 能够实现无缝对接
7.要我来做,我该怎么做?
所谓一个框架而言,在编写框架代码的时候,所要对接的 Bean 是不存在的。
通过预设规则,按照一定的规则去顺序加载或识别需要对接的 Bean。(反射,通过类全名字符串可以找到,并创建一个 Bean 的实例)。
规定配置文件的默认名字。
IOC:缓存起来,得把它存起来(Map 容器)
DI: getter、setter、contructor (反射、invoker)
AOP: 为了增强原始 Bean 的功能(代理技术)
没有Spring 将如何开发?
1.认识懒惰的,一切高端技术的发明都是源于人类的懒惰,何不重复地造轮子呢?
2.没有 Spring ,那是到了 Spring 出现以前的开发了。
- 很多设计模式需要自己去整合,当然,你也可以选择不用设计模式(只不过多走点弯路而已)
- 所有的封装、集成、多态、增强、依赖、模块管理等等工作都有自己制定统一的规则(百花齐放、百家争鸣)
- 所有的创建对象、配置依赖关系、资源的重复利用、拓展性的手动操作
Spring 出现以后,JAVA 程序员的春天真的来了,解放了双手。
七分猜测,三分验证(七分靠打拼,三分天注定)
如果猜对了,就会有一种成就感。
看源码,第一遍是非常痛苦的。
看第二遍、看第三遍思路越来越清晰。
带着思考去找入口(主入口、隐藏的入口)
// 要想跑起来,运行的是 run 方法里边的代码 new Thread(){ // 跑起来 public void go(){ } public void run(){ } }
RMI 中
// socket socket.write(); // 入口 // ServerSocket while(true){ server.accept(); }
看 Tomcat 的源码
Main
方法
Spring
ClassPathXMLApplicationContext
app 显示的入口- 查找用户需要加载哪些配置文件
- 读取配置文件
- 注册
- 定位
- 加载
- 注册
预习效果调查?
第二轮:预习文档老师不会带大家去课件了,自己在课前看,作为上课的补充资料(用于帮助大家去猜测资料)
:画图,梳理思路,答疑
来源于: https://javaguide.net
微信公众号:不止极客
这篇关于百万架构师第十一课:源码分析:Spring 源码分析:Spring源码分析前篇|JavaGuide的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-08如何用关键链方法突破项目管理瓶颈?
- 2025-01-08电商人必看!6 款提升团队协作与客户满意度软件!
- 2025-01-08电商团队管理混乱?快用这 6 款软件优化协作流程!
- 2025-01-08短剧制作效率低?试试这5款任务管理工具
- 2025-01-08高效应对电商高峰,6 款团队协作软件大揭秘!
- 2025-01-08为什么外贸人都爱上了在线协作工具?
- 2025-01-08提升工作效率,从这些任务管理工具开始
- 2025-01-08新年电商订单暴增,必备的 6 款可视化协作办公软件有哪些?
- 2025-01-08短剧制作经理必备技能与工具全解析
- 2025-01-08在线协作让年货大促轻松应对!