spring
文章平均质量分 59
我叫晓美焰
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spring代码类继承层次结构深度解析之BeanFactory
上面是我截图自IDEA,主要是DefaultListableBeanFactory的继承结构。为啥选DefaultListableBeanFactory呢?熟悉spring源码的人一般都知道,这个类已经是BeanFactory组件的最底层的实现了。虽然他下面还有个XmlBeanFactory,但是已经是过时的了。所以我们最底层选择的是他,就能看到整个BeanFactory的功能的扩展体系。还请注意,ApplicationContext不在本次的讨论之内。这个图大致可分为3部分吧。红色框的部分;Ser..原创 2021-02-20 15:15:03 · 1330 阅读 · 4 评论 -
spring中的代码编写技巧大全第一期
1.多个重载方法,底层实现是某个doXXX的方法.如下图所示,红框中3个方法均实现自BeanFactory中的getBean方法,是重载了3个getBean。具体实现则调用了自己的doGetBean方法。因为:虽然是3个重载的getBean方法,参数不一样,但是作用都是获取Bean。所以他们内部的逻辑几乎是一样的,所以抽取到doGetBean中。而不同的参数差异,例如requiredType , rags typeCheckOnly则体现在doGetBean中的一些if分支中。...原创 2021-02-20 14:34:48 · 247 阅读 · 0 评论 -
spring context源码解析之@Async
背景大家项目中用到异步、多线程的场景很多,使用最多的场景还是主动对象模式,就是主线程开启一个线程池去任务分发,任务执行完成之后,关闭线程池,但是有的场景则需要部分代码异步执行的效果,简单的说就是有一个可以复用的线程池可以复用,直接new Thread当然也可以,不推荐,没有线程池的可靠性好,如果这个时候再创建一个线程池用完再关闭代码是不是有点重,维护性也不好,@Async这个注解就是为了解决这个问...转载 2018-05-28 11:58:32 · 1485 阅读 · 0 评论 -
SpringBoot 启动流程
写在前面: 由于该系统是底层系统,以微服务形式对外暴露dubbo服务,所以本流程中SpringBoot不基于jetty或者tomcat等容器启动方式发布服务,而是以执行程序方式启动来发布(参考下图keepRunning方法)。 本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要类类图,来分析其启动逻辑和自动化配置原理。总览: ...转载 2018-12-06 15:53:54 · 242 阅读 · 0 评论
分享