Fork me on GitHub

随笔分类 -  spring源码

摘要:1.概述 目前我们知道,spring创建bean有多种方式,比如xml方式创建,比如@Component,@Service,@Controler,@Repository注解创建,比如@Autowired依赖注入创建,后续还有通过springboot方式的配置注解@Configuration与@Bea 阅读全文 »
posted @ 2022-06-12 22:00 小猪爸爸 阅读(626) 评论(0) 推荐(0) 编辑
摘要:以“冬奥之光,多彩冰灯”为主题的第四十一届全国专业冰雕比赛在冰城哈尔滨市进入第二天,60名冰雕高手在哈尔滨冰灯艺术游园会园区展开激烈的竞技比拼。 冰雕艺术 1. 概述 Bean的销毁是Bean的生命周期中最后一步,比如在Tomcat等容器关闭的时候会调用Bean的销毁方法,下面逐步分析。 2. 源码 阅读全文 »
posted @ 2022-03-08 19:48 小猪爸爸 阅读(569) 评论(0) 推荐(0) 编辑
摘要:希望之光永远向着目标清晰的人敞开。 1. 循环依赖概述 循环依赖通俗讲就是循环引用,指两个或两个以上对象的bean相互引用对方,A依赖于B,B依赖于A,最终形成一个闭环。 Spring循环依赖的场景有两种: 构造器的循环依赖 field 属性的循环依赖 对于构造器的循环依赖,Spring 是无法解决 阅读全文 »
posted @ 2021-07-27 08:29 小猪爸爸 阅读(608) 评论(2) 推荐(1) 编辑
摘要:只要不放弃,希望迟早都会到来! 1. Bean的初始化 如果把bean的生命周期看作一个婴儿诞生过程的,那么创建实例相当于婴儿从母体出来,一丝不挂光秃秃;属性赋值相当于给宝宝的头带帽子,上身穿衣服、下神穿裤子、还有脚丫穿袜子;而初始化相当于教宝宝一些常规的动作,比如给宝宝吸奶,打嗝拍打,哄睡觉等,本 阅读全文 »
posted @ 2021-07-19 08:34 小猪爸爸 阅读(589) 评论(0) 推荐(1) 编辑
摘要:每次进入源码的世界,就像完成一场奇妙的旅行! 1. 属性赋值概述 上一篇讲述了bean实例化中的创建实例过程,实例化后就需要对类中的属性进行依赖注入操作,本篇将重点分析属性赋值相关流程。其中属性赋值,体现在AbstractAutowireCapableBeanFactory类中的doCreateBe 阅读全文 »
posted @ 2021-07-10 06:14 小猪爸爸 阅读(587) 评论(0) 推荐(1) 编辑
摘要:人生需要探索的热情、坚持的勇气以及热爱生活热爱自己的力量。 1. Bean的实例化 上一篇讲述了bean的生命周期,其中第一步就涉及到了bean的实例化,本文重点分析bean实例化,先进入源码中的AbstractAutowireCapableBeanFactory类中的createBeanInsta 阅读全文 »
posted @ 2021-07-05 08:36 小猪爸爸 阅读(426) 评论(0) 推荐(0) 编辑
摘要:为源码付出的每一分努力都不会白费。 1. Bean的实例化概述 前一篇分析了BeanDefinition的封装过程,最终将beanName与BeanDefinition以一对一映射关系放到beanDefinitionMap容器中,这一篇重点分析如何利用bean的定义信息BeanDefinition实 阅读全文 »
posted @ 2021-06-30 07:48 小猪爸爸 阅读(380) 评论(0) 推荐(0) 编辑
摘要:1. BeanDefinition简介 前面讲的解析bean标签,本质就是将bean的信息封装成BeanDefinition对象的过程,最后放入容器beanDefinitionMap中。spring 要根据 BeanDefinition对象来实例化bean,只要把解析的标签,扫描的注解类封装成Bea 阅读全文 »
posted @ 2021-05-08 07:12 小猪爸爸 阅读(678) 评论(0) 推荐(1) 编辑
摘要:1. 读源码的方法 java程序员都知道读源码的重要性,尤其是spring的源码,代码设计不仅优雅,而且功能越来越强大,几乎可以与很多开源框架整合,让应用更易于专注业务领域开发。但是能把spring的源码吃透,不仅需要花费大量时间与精力,更需要需要掌握一些方法。下面结合自己读源码与走过的一些弯路,结 阅读全文 »
posted @ 2021-04-19 08:39 小猪爸爸 阅读(767) 评论(1) 推荐(2) 编辑
摘要:1. gradle安装 1.1 下载gradle gradle官网下载对应的版本,笔者用的6.0.1,下载地址如下https://gradle.org/releases/,找到6.0.1,选择complete连接下载,如下图 1.2 配置环境变量 解压gradle到指定目录,配置环境变量GRADLE 阅读全文 »
posted @ 2021-04-12 07:49 小猪爸爸 阅读(205) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示