穷举法:把生活所见所闻全部归纳到我们所学的知识体系中来,加以思考总结变成自己的东西。(举例子)
类比法:用自己熟悉的方法(利用自己已有的知识体系),去对比学习新的知识。

学习最好的方法:就是重复

Spring怎么学?
1、环境准备好了没有?(自学能力的考研)
2、项目里头有红叉
   学源码 ,不一定要让项目完全跑起来,包一两个红叉其实不要紧
   
   看:是什么? 能干啥
   想:为什么? 
   ---------------------------
   实践:怎么做?
         调试的时候,完全可以在运行环境,导入jar就能调试(有针对性的打断点)
   
   
3、如何从0到1去学习
   首先看官网文档,去网上找资料参考 (有了基本的概念,产生很多问题,很多猜想)
   
   然后,看项目结构(更加具体的了解,还是产生很多猜想)
   
   为什么会存在Spring这个东西?
   能做什么,做了什么,要我来做,我该怎么做?
   
   IOC、AOP、DI、BeanFactory等这样的一些零碎的概念(人云亦云)
   
   能做什么:Java中的万能胶
   做了什么:Java Bean能够实现无缝对接
   
   要我来做,我该怎么做: 作为一个框架而言,在编写框架代码的时候,所要对接Bean是不存在
                          通过预设规则,按照一定的规则去顺序加载或识别需要对接的Bean(反射,通过类全名字符串可以找到并创建一个Bean的实例)
                          规定配置文件的默认名字
                          
                          IOC:缓存的地方,得把它存起来(Map容器)
                          
                          DI:getter、setter、constructor(反射、invoker)
                          
                          AOP:为了增强原始Bean的功能(代理技术)

4、没有Spring将如何开发?
   人是懒惰的,一切高端技术的发明都是源于人类懒惰,何必重复造轮子呢?
   没有Spring,那是到了Spring出现以前的开发了
   a、很多设计模式需要自己去整合,当然,你也可以选择不用设计模式(只不过多走点弯路而已)
   b、所有的封装、继承、多态、增强、依赖、模块管理等等工作都有自己制定统一的规则(百花齐放,百家争鸣)
   c、所有的创建对象、配置依赖关系、资源的重复利用、扩展性的手动操作
   
   Spring出现以后,Java程序员的春天真的来了,解放了

Tom老师学习Spring:七分猜测三分验证 (七分靠打拼,三分天注定)
                   如果猜对了,会有一种成就感(永远不会忘)
                   
                   看源码第一遍是非常痛苦的
                   看第二遍、看第三遍思路越来越清晰
                   
                   
                   带着思考去找入口(主入口、隐藏的入口)

//要想跑起来,运行的run方法里面的代码                   
new Thread(){

//跑起来
    public void go(){
        ... ...
    }
    
    public void run(){
        ... ...
    }
    
}

RMI源码的时候
Socket     socket.write(); 入口
ServerSocket      while(true){   server.accept(); }
                 
                 
看Tomcat的源码
Main方法

Spring

ClassPathXmlApplicationContext app 显示的入口    
查找用户需要加载哪些配置文件
读取配置文件
注册

定位、加载、注册

Spring源码分析前篇相关推荐

  1. Spring 源码分析衍生篇十 :Last-Modified 缓存机制

    文章目录 一.前言 二.Last-Modify 三.实现方案 1. 实现 org.springframework.web.servlet.mvc.LastModified接口 1.1. 简单演示 1. ...

  2. Spring 源码分析衍生篇十三 :事务扩展机制 TransactionSynchronization

    文章目录 一.前言 二.TransactionSynchronization 1. TransactionSynchronization 1.1 TransactionSynchronization ...

  3. Spring 源码分析衍生篇三 : lookup-method 和 replaced-method

    文章目录 一.前言 二.基本使用 1. 作用 三.原理实现 1. 预处理 1.1 AbstractBeanDefinition#prepareMethodOverrides 1.2 Autowired ...

  4. spring源码分析之spring-core总结篇

    1.spring-core概览 spring-core是spring框架的基石,它为spring框架提供了基础的支持. spring-core从源码上看,分为6个package,分别是asm,cgli ...

  5. Spring源码分析系列——bean创建过程分析(三)——工厂方法创建bean

    前言 spring创建bean的方式 测试代码准备 createBeanInstance()方法分析 instantiateUsingFactoryMethod()方法分析 总结 spring创建be ...

  6. Spring源码分析之Bean的创建过程详解

    前文传送门: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostProcessor调用过程详解 本文内容: 在 ...

  7. 【Spring源码分析】Bean加载流程概览

    代码入口 之前写文章都会啰啰嗦嗦一大堆再开始,进入[Spring源码分析]这个板块就直接切入正题了. 很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事 ...

  8. beaninfo详解源码解析 java_【Spring源码分析】Bean加载流程概览

    代码入口 之前写文章都会啰啰嗦嗦一大堆再开始,进入[Spring源码分析]这个板块就直接切入正题了. 很多朋友可能想看Spring源码,但是不知道应当如何入手去看,这个可以理解:Java开发者通常从事 ...

  9. Spring 源码分析(三) —— AOP(五)创建代理

    2019独角兽企业重金招聘Python工程师标准>>> 创建代理 代理的定义其实非常简单,就是改变原来目标对象方法调用的运行轨迹.这种改变,首先会对这些方法进行拦截,从而为这些方法提 ...

最新文章

  1. 看了 100多份简历后,想给找工作的程序员几点建议
  2. 人工神经网络发现生物神经网络,智源超高清电镜图像分割挑战赛开赛
  3. 字符串编辑距离(转载)
  4. 前端技术之_CSS详解第五天
  5. mysql实现decode_Oracle中的DECODE()函数,MySQL中怎么实现DECODE()函数
  6. 试用VisualStudio2005Beta2出现的小BUG
  7. liniux备忘录-磁盘配额与进阶文件系统管理
  8. 重磅:阿里发布神器工具,直接帮你改代码,我高潮了!网友:工作量又减轻了!...
  9. k3 审核流程图_3 金蝶K3操作流程图详解
  10. 在php中使用for、while、do-while循环实现从1加到100
  11. 1.1 经典车间生产调度问题模型及其算法
  12. 这是我的脚本原型。。比我的生成器的麻烦(这种最稳定,我做成的脱机刷毛实
  13. python读取odb_abaqus通过python从ODB中抽取模型数据和结果数据.pdf
  14. gitbub(cp:http://www.linuxidc.com/Linux/2014-03/97821.htm)
  15. 【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数
  16. Java使用PDFBox将多个PDF合并为单个PDF
  17. u盘中毒文件为html文档,u盘中毒文件被隐藏怎么办【解决方法】
  18. Frame-Pannel-Button综合
  19. ohci之usb_submit_urb
  20. 给父元素添加点击事件时,获取到的 event.target 为子元素(point-events: none 的妙用)

热门文章

  1. countByValue
  2. 知道这些面试技巧,让你的测试求职少走弯路
  3. 【转】嵌入式产品开发流程
  4. HDU1251 统计难题 【trie树】
  5. 关于mysql数据库的备份和还原
  6. 大话设计模式—建造者模式
  7. 大话设计模式—单例模式
  8. sharepoint Lists Web service 用法
  9. Java 读取 .properties 配置文件的几种方式
  10. mysql学习-初识mysql