• spring源码解析——2容器的基本实现(第2版笔记)


    感觉第二版写的略潦草,就是在第一版的基础上加上了新的流行特性,比如idea,springboot,但是,潦草痕迹遍布字里行间。

    虽然换成了idea,但是很多截图还是eclipse的,如果不是看了第一版,很容易让人产生误解;构建遇到错误,不是想着怎么解决错误,而是把有错误的代码删了了事,呵呵。

    说实话,这本书的ioc方面有些内容已经过时了,由于该书写书时是spring3,那时spring大量使用XML配置,但是从现在已经大量使用java配置和注解配置了,但是书中依然延续了第一版的xml配置,这也说明了该作者写第二版时的潦草糊弄。

    项目构建 书中用的spirng版本是5.0.x,但是由于5.0.x中饮用的部分插件的网址失效了(不是墙的事,应该是换网址了),所以一直无法编译,于是改为使用5.1.x。

    缺少jar包的问题,可以显下载release版本,之后把源码打成jar包 参考如下:

    https://blog.csdn.net/qq_17586821/article/details/53033596

     容器的基本实现,最重要的就是DefaultListableBeanFactory,这个类是整个bean加载的核心部分,是Spring注册及加载bean的默认实现。

    该书重点讲解的时XML配置,所以重点解析了 XmlBeanFactory 这个类(该类在spring3.1以后已经废弃,官方推荐使用DefaultListableBeanFactory)

    XmlBeanFactory是继承了DefaultListableBeanFactory,在DefaultListableBeanFactory的基础上添加了属性XmlBeanDefinitionReader,该属性的作用是从XML读取bean配置的

    XmlBeanDefinitionReader的流程分析

    1。用ClassPathResource将资源文件路径转换为对应的Resource文件
    2。用DocumentLoader将Resource文件转换为Document文件
    3。通过DefaultBeanDefinitionDocumentReader对Document进行解析,并使用BeanDefinitionParserDelegate对Element进行解析

  • 相关阅读:
    Linux crontab 命令格式与举例
    my sql 两个 索引 时的 union 与 or 的比较
    网络通信5层传输
    算法 韩信点兵 循环左移数组元素
    sql 提升查询效率 group by option hash group
    微信引流活动:生成带参二维码、发送海报、
    PMP十大知识领域整理
    iis 站点中文乱码 解决方案
    pdb文件及引发的思考
    TFS 创建团队成员及管理
  • 原文地址:https://www.cnblogs.com/lakeslove/p/10912592.html
Copyright © 2020-2023  润新知