开发者社区> 问答> 正文

[@项籍][¥20]Spring 框架学习

看到很多招聘信息上都有要求对spring 框架源码的理解,想问一下如何系统的去学习spring框架的源码,或者更宽泛的说,如何系统的去学习个很庞大的开源框架的源码

展开
收起
U2647 2018-11-13 09:54:36 2583 0
3 条回答
写回答
取消 提交回答
  • 多年互联网开发经验,从事业务开发、平台开发、架构设计、云计算、APM等领域。目前专注于供应链方向的解决方案治理和服务交易域

    1.找个比较干净的spring版本,比如2.5.6
    2.搞明白spring的大致原理(IOC),避免源码阅读不知所云,毫无条理,核心是要了解ioc的大致架构,核心服务和常用的扩展点
    3.BeanFactory的new方法入手了解容器是如何初始化(资源加载策略、校验策略、注册机制),同时也会了解到如何通过平台化的方式支持自定义的bean(handle、namespace)
    4.BeanFactory的get方法入手去了解如何去生产和托管对象(装配机制、生产机制、作用域机制:scope的面纱),同时你会发现原理上看到的那些扩展点BeanPostProcessor、InitializingBean的使用场景和使用意图,获取源码里面还发现了不为人知的秘密: nestedBw
    5.了解了整个Bean的生产机制,也明白了若干拓展点的使用场景和意图,那么FactoryBean可以用来干嘛,AOP的编织入口在哪里,也就一目了然了
    6.可以参考:https://my.oschina.net/tryUcatchUfinallyU?tab=newest&catalogId=300810(之前自己学习轨迹)

    2019-07-17 23:13:47
    赞同 展开评论 打赏
  • java 数据分析 数据可视化 大数据

    首先要了解设计模式,这个是阅读大师源码的一个桥梁,很多代码看上去很多,其实就是一种模式。了解了模式后,整个关系图就清楚了。
    还有善于分片阅读,找简单的读,可以先读spring jdbc,这部分的模板跟回调看起来会简单点。
    然后再看IOC,看IOC之前必须对spring IOC原理掌握的很透彻,怎么扩展,怎么写胶水代码整合其他框架。建议熟读Spring-Reference。
    然后再读源码,先学习怎么写出漂亮的代码,再学习怎么设计出漂亮的模式。

    2019-07-17 23:13:47
    赞同 展开评论 打赏
  • 阿里云问答专家、阿里云认证云计算工程师、Java研发工程师

    1.决定要学习的模块,查找官方文档、相关的总结文章,整理出大概的学习内容与目标
    2.运行程序,观察表现
    3.运行源码,断点调试,从头跟一边源码的执行流程,注意函数堆栈
    4.画类图、流程图,先把遇到的重要类记录下来,表明各个类的关系
    5.记录问题,把不理解的类或者内容以问题的方式记录下来
    6.写文章、笔记,尝试逐个解决之前遗留的问题

    2019-07-17 23:13:47
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载