美文网首页
Spring IOC源码分析-思考

Spring IOC源码分析-思考

作者: ihuangweiwei | 来源:发表于2019-06-16 15:35 被阅读0次

Spring IOC是什么?不就是内部一个Map通过名字获取到对应的Bean实例嘛!

具体步骤的思考?

  1. 原材料XML,如何变成我们的对象?
  2. 需要定制解析工具类,进行XML的解析,那解析出来的信息存放哪里?
  3. 有了信息,我们可以构建对象了吧?我们真的就简单的通过反射,c1.newInstance()这么搞下收工?

可能我们粗略想来,Spring的IOC可能就是完成上面的三个思考,但如果深挖,你会发现很多问题。

问题一:原材料的解析

Spring框架前期使用XML的方式进行配置,那这些XML是否有规范?这里就涉及到DTDXSD的两种验证模式。

问题二:解析出来的信息

为了我们完成IOC对对象的创建管理,关于创建,我们需要干啥:构造方法多个咋办、哪些对象属性需要摄入(基本数据类型,引用对象)、所有的实例一定能通过配置文件配置出来(会不会依赖太多,让开发者直接骂娘)等等。同时解析出来的信息肯定需要定义一个对象,这些对象有需要存放在哪里?

问题三:实例化

通过反射就实例化了?Spring IOC不是很多扩展功能,那反射实例化完了,我们还能怎么玩,所以这里肯定不是这么简单的反射实例化完成了。涉及到对Bean生命周期的分析,关于Bean的生命周期,也是面试中常问道的问题,可能通过网上的资料,我们面试过程中对答如流,但试问,你有没有在业务中具体的使用?真的对Bean的生命周期了解的很透吗?

带着以上问题,我们开启我们Spring源码解析之路,我们会发现这三个问题会以此扩展出不同的问题,然后我们层层深入,算对Spring源码有个基本的了解,而真正说精通,还是需要在实际开发过程中应用熟悉。

相关文章

网友评论

      本文标题:Spring IOC源码分析-思考

      本文链接:https://www.haomeiwen.com/subject/nshgfctx.html