240 发简信
IP属地:加州
  • 专门注册了简书账号过来评论这篇文章。
    文章总体写的面面俱到,但是有没有到深入到什么,给人的感觉是我看了,但是貌似很快又会忘掉。为啥?怎么破?

    为啥?没有抓住重点
    怎么破?讲核心

    spring的核心工作原理就是利用反射机制,完成对象(bean)的注册和实例化。所以这里的重点就是:
    - 在哪里注册对象定义?
    - 如何注册?
    - 如何完后,咋用?(实例化bean)

    搞清这两个问题,对spring理解就会有更加宏观的把握。

    第一个问题,主要看createApplicationContext。该方法主要解决spring bean去哪里注册问题,也就是解决容器问题。beanFactory是最顶级的容器抽象, DefaultListableBeanFactory是其具体的实现。

    第二个问题, 主要看refreshContext。调用到的AbstractApplicationContext.refresh()里的invokeBeanFactoryPostProcessors(beanFactory)需要重点关注一下,因为它主要完成spring 环境里包括我们代码里定义的bean的定义的注册

    第三个问题,可以给AbstractBeanFactory.doGetBean打个断点,看一下bean的实例化是怎么弄的

    最后,为了检测自己的理解,写几个小demo,包括但不限于以下:
    - 自定义的ApplicationListener
    - 自定义的BeanFactoryPostProcessor
    - 自定义的BeanPostProcessor
    。。。

    就这么多

  • Tomcat是如何打破双亲委派机制的

    类加载机制是什么 概论.java文件通过编译以后,读取到jvm的方法区中,然后类加载器的加载、验证(class特定的格式)、准备(分配内存)、解析(将字节码的符号引用改成直接...

  • @划破黑夜的黎明之剑 sparksql类似的解析之后,没有下推到es的querybuilder中,坑爹呀,这个玩意用的人不多,找不到资料

    spark 使用elasticsearch-spark connector读取ES 跳坑记录

    背景:我们希望将es中的数据通过elasticsearch-hadoop、或是elasticsearch-sparkconnector将其映射成hive\spark-sql ...

  • Spark 任务输出目录_temporary目录未删除问题排查

    https://blog.csdn.net/u013332124/article/details/90677530 一、问题描述 在hdfs上看到有个输出目录有_tempor...

  • 120
    携程 Apollo 配置中心分布式部署(Docker)

    在Spring Boot 2.0 整合携程Apollo配置中心一文中,我们在本地快速部署试用了Apollo。本文将介绍如何按照分布式部署(采用Docker部署)的方式编译、打...

  • 120
    看了之后不再迷糊-Spark多种运行模式

    早就想写这章了,一直懒得动笔,不过还好,总算静下心来完成了。 刚接触Spark时,很希望能对它的运行方式有个直观的了解,而Spark同时支持多种运行模式,官网和书籍中对他们的...

  • Spark HiveThriftServer2启动流程源码分析

    背景 接触SparkSQL不久,查找了些别人的资料,感觉对整个Spark HiveThriftServer2流程讲的糊里糊涂的,觉得需要从Beeline连接HiveThrif...