Spring源码

Spring 源码(3)Spring BeanFactory 是怎么创建的?

Spring创建 BeanFactory 的方式 按照Bean的配置方式手动创建可以分为两种: 使用XMl配置的Bean 这种方式使用xml配置文件配置Bean的信息并且设置扫描的路径,扫描到的包可以使用注解进行配置Bean信息,一般来说手动创建BeanFactory容器的实现类为ClassPath ... »

Spring 源码 (2)Spring IOC 容器 前戏准备工作

Spring 最重要的方法refresh方法 根据上一篇文章 https://www.cnblogs.com/redwinter/p/16141285.html Spring Bean IOC 的创建流程继续解读Spring源码,本篇文章解读Spring 源码最重要的方法refresh方法。 这个方 ... »

源码中的设计模式--单例模式

一、模式入场 单例模式在众多的设计模式中应该是最简单的一个,但是要掌握的点也不少。先看下《head first 设计模式》中给出的释义, 单件模式 确保一个类只有一个实例,并提供一个全局访问点。 下面对这个释义进行逐字解释。单件可以称之为单例其实是一个意思。这个释义给出了单例模式中重要的两点, 一个 ... »

Java-学习路线

有不足或者问题大家可以在评论中留言,谢谢大家。 以 Java 后端为主,扩展/基础 部分可以根据需要自行调整顺序。 初学者强烈建议先阅读计算机体系部分!! 人都有一个遗忘规律,很多时候我们都是在和遗忘做斗争。欢迎大家友善的交流。 博客文章分类:https://www.cnblogs.com/zwtb ... »

zwtblog

源码级别的广播与监听实现

原创:微信公众号 【阿Q说代码】,欢迎分享,转载请保留出处。 近期疫情形势严峻,情形不容乐观,周末也不敢出去浪了,躲在家里“葛优躺”。闲来无事,又翻了遍Spring的源码。不翻不知道,一翻吓一跳,之前翻过的源码已经吃进了肚子里,再见亦是陌生人。 个人建议:为了以后能快速的捡起某个知识点,最好的方法还 ... »

aqsaycode

spring源码编译完整步骤拿来即用!

1.版本选择 1)源码版本:spring5.3.x 2)gradle版本:根据spring源码的工程路径:gradle/wrapper/gradle-wrapper.properties文件查看gradle版本。如图所示: 可以看到源码版本对应gradle版本为,所以可依此下载gradle-7.2版 ... »

Spring cache源码分析

Spring cache是一个缓存API层,封装了对多种缓存的通用操作,可以借助注解方便地为程序添加缓存功能。 常见的注解有@Cacheable、@CachePut、@CacheEvict,有没有想过背后的原理是什么?楼主带着疑问,阅读完Spring cache的源码后,做一个简要总结。 先说结论, ... »

AOP详解之三-创建AOP代理后记,创建AOP代理

AOP详解之三-创建AOP代理后记,创建AOP代理。 上篇文章已经获取到了AOP的信息,接下来就是拿着这些AOP的信息去创建代理了。 首先我们看下创建AOP代理的入口处。 //这个方法将返回代理类 protected Object wrapIfNecessary(Object bean, Strin ... »

tianClassmate spring

AOP源码解析之二-创建AOP代理前传,获取AOP信息

AOP源码解析之二-创建AOP代理前传,获取AOP信息。 上篇文章对AOP的基本概念说清楚了,那么接下来的AOP还剩下两个大的步骤获取定义的AOP信息,生成代理对象扔到beanFactory中。 本篇文章重点对前半部分,如何获取到AOP信息的过程解读。 在Spring的核心方法Refresh方法中, ... »

tianClassmate spring

Spring源码之九finishRefresh详解

Spring IoC 的核心内容要收尾了,本文将对最后一个方法 finishRefresh 进行介绍,位于refresh 方法中的第九个位置。 本章实际是对发布订阅模式的一种补充,这是Spring在刷新事件完成后发布事件。 ... »

tianClassmate spring

【spring源码系列】之【Bean的销毁】

以“冬奥之光,多彩冰灯”为主题的第四十一届全国专业冰雕比赛在冰城哈尔滨市进入第二天,60名冰雕高手在哈尔滨冰灯艺术游园会园区展开激烈的竞技比拼。 冰雕艺术 1. 概述 Bean的销毁是Bean的生命周期中最后一步,比如在Tomcat等容器关闭的时候会调用Bean的销毁方法,下面逐步分析。 2. 源码 ... »

全网最新最详细最明白教程之Spring源码搭建,没有之一,超详细

相关帖子有很多但是都不是最新的Gradle,我在使用Gradle最新版编译的时候简直坑死我了,弄了好久。接下来给大家详细说一下这个安装过程,以及相关的软件版本号。 相关软件、依赖的版本号: Gradle gradle-7.2-bin.zip 该版本官网下载地址 或者自行选择版本 所有版本官网地址 注意:如果要是自行选择版本,以下流程未必适用 JDK jdk-11.0.12_win »

Spring源码之七registerListeners()及发布订阅模式

Spring源码之七registerListeners()及发布订阅模式 大家好,我是程序员田同学。 今天带大家解读refresh()方法中的registerListeners()方法,也就是我们经常说的Spring的发布-订阅模式。文章首先举一个发布-订阅模式的样例,然后讲解了发布-订阅四个模式的 ... »

tianClassmate spring