300行代码手写提炼Spring的核心原理

1)不是调试源码,也不是给源码增加注释
2)理解设计思想

-----------------------------
1)如何下手,从哪里看?
    web.xml开始:
        配置了DispatchServlet extends HttpServlet
            init  初始化(入口)
            service 浏览器输入url的时候,会由web容器调用service
                        doGet
                        doPost
            destroy 生命周期最后关头

    因此找入口应该从init方法开始,初始化的方法

2)从哪里使用,就从哪里去看
     有的人看到了不懂的就去调试,一下子就调试不清楚了,失去了信心,
         而应先宏观看下有哪些类,再去微观,最后 才是调试。

     70%的猜测 + 30%的验证

     当我晕车的时候,我就不去看源码了,我去看下如何使用的。 
         我从Spring中粘贴过来,看不懂的去掉,看懂的留下,改一下名字
         我就去加上注解

     用法一样,但是没有功能

     弗雷是init是初始化,


3)v2: 能做数据类型转换,能做动态匹配


4)
配置阶段

IOC  DI  MVC(HandlerMapping)

运行阶段,doGet doPost

5)
1.加载配置文件
2.扫描相关的类
3.初始化扫描到的类,并放入到IOC容器中
4.完成依赖注入

6)如果是接口,无法实例化,投机取巧方式:
    

你可能感兴趣的:(手撕Spring源码)