java
linzhou09
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spring IOC 源码阅读(六)之单实例bean的创建
在创建完事件传播器并将所有ApplicationListener注册到时间传播器中后,就开始创建剩余的单实例bean了。 剩下会通过调用beanFactory的preInstantiateSingletons方法进行创建 protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory) { ...... //创建剩余的单实例bean beanFactory.preIn原创 2020-07-15 01:41:32 · 259 阅读 · 0 评论 -
spring IOC 源码阅读(五)之初始化传播器
接下来看初始化事件传播器和将所有ApplicationListener注册到时间传播器中这两块内容 初始化事件传播器 如果容器中已经有名称为applicationEventMulticaster的单实例bean或者BeanDefinition,则通过beanFactory.getBean()获取bean对象,并赋值给成员变量applicationEventMulticaster 如果容器中没有,则创建一个SimpleApplicationEventMulticaster类型的对象赋值给成员变量appl原创 2020-07-13 13:47:32 · 148 阅读 · 0 评论 -
spring IOC 源码阅读(四)之registerBeanPostProcessors(beanFactory)
执行完BeanFactoryPostProcessors之后,就要向容器中注册BeanPostProcessor了 首先获取到所有BeanPostProcessor的名称 遍历这些BeanPostProcessor 如果是PriorityOrdered级别的,那就创建这个bean并添加到priorityOrderedPostProcessors 集合中区 如果是Ordered级别的,则将beanName添加到orderedPostProcessorNames 集合中 如果既不是Priority原创 2020-07-13 01:22:23 · 234 阅读 · 0 评论 -
spring IOC 源码阅读(三)之invokeBeanFactoryPostProcessors(beanFactory)
做完beanFactory的创建,接下来就是执行BeanFactoryPostProcessors的接口 执行BeanDefinitionRegistryPostProcessor类型的BeanFactoryPostProcessors 从beanFactory中获取到所有BeanDefinitionRegistryPostProcessor类型的beanName 首先获取到所有PriorityOrdered级别的BeanDefinitionRegistryPostProcessor,并通过be原创 2020-07-13 01:17:38 · 195 阅读 · 0 评论 -
spring IOC 源码阅读(二)之创建beanFactory及初始化
在上一节中我们看来refresh()方法的作用,其中第一步就是创建并初始化beanFactory 在refresh()有行代码是做了创建并初始化beanFactory的工作 //创建beanFactory ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory(); //BeanFactory的预准备工作 prepareBeanFactory(beanFactory); 首先先obtainFreshBeanFac原创 2020-07-13 01:12:48 · 267 阅读 · 1 评论 -
spring IOC 源码阅读(一)之refresh()
从AnnotationConfigApplicationContext开始看springIOC源码 下面是一个简单的spring的代码 @Configuration public class SpringConfig { @Bean public Bean1 bean(){ return new Bean1(); } public static void main(String[] args) { AnnotationConfigApplicationContext applicati原创 2020-07-13 00:54:09 · 161 阅读 · 0 评论 -
netty源码阅读(一)之NioEventLoop创建
下次再v原创 2018-08-01 00:08:26 · 272 阅读 · 0 评论 -
netty源码阅读(二)之服务端启动——创建并初始化服务端Channel
服务端启动可以分为四个步骤 1)创建服务端Channel 2)初始化Channel 3)注册Selector 4)绑定端口 1、创建服务端Channel 在上一节的服务端demo中可以看到调用了ServerBootstrap的bind方法,这个个方法就是服务端启动的入口,进入这个方法一路追寻下去最终调用了doBind方法: public ChannelFuture b...原创 2018-08-05 23:50:29 · 280 阅读 · 0 评论
分享