E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
spring源码
1.
Spring源码
解析-ClassPathXmlApplicationContext
此类是读取spring的xml配置文件并解析。也是源码入口之一。我们调试即将开始。传递给父类设置值经调试我们得到是给AbstractApplicationContext设置默认的应用上下文父级的值,很明显是空给父类AbstractRefreshableConfigApplicationContext设置属性刷新容器时序图如下:
码农大乐乐丶
·
2023-11-28 20:05
springIOC
java
spring
boot
spring
4.
Spring源码
解析-loadBeanDefinitions(XmlBeanDefinitionReader)
第一个点进去发现是空肯定走的第二个逻辑了这里在这里已经给属性设置了值,所以肯定不是空能拿到。1.ClassPathXmlApplicationContext总结:该loadBeanDefinitions是XmlBeanDefinitionReader设置xml文件在哪。
码农大乐乐丶
·
2023-11-28 09:41
springIOC
java
spring
Spring中BeanFactory和FactoryBean区别
目录一、BeanFactory二、FactoryBean三、小结Spring学习专栏1.
Spring源码
分析(一)基本框架介绍2.
Spring源码
分析(二)两种方案搭建基础框架3.Spring中@Conditional
给自己一个 smile
·
2023-11-28 00:41
Spring
Spring
BeanFactory
FactoryBean
Spring源码
篇之SpEL表达式
简介Spring(SpringExpressionLanguage)表达式简称SpEL表达式,该功能在Spring中实现还是比较复杂,在Spring中单独有一个模块spring-expression来实现,所以本文主要看一小部分的源码,大概知道怎么使用就行了源码分析在AbstractBeanFactory中就有一个属性beanExpressionResolver会设置默认的表达式privateBe
shura1014
·
2023-11-27 10:47
spring
framework
spring
java
后端
Spring源码
篇之SpEL表达式的上下文EvaluationContext
简介上节已经介绍了spring表达式,也举了很多案例,本文是对spring表达式上下文EvaluationContext的一个补充EvaluationContext在spring表达式中非常重要,里面可以定义数据应该从哪里来比如@Value(“#{beanName}”),希望应该可以从spring中获取单例Bean,都可以由它实现接口定义publicinterfaceEvaluationConte
shura1014
·
2023-11-27 10:47
spring
framework
spring
java
Spring源码
篇之占位符填充${}
简介在spring中占位符用${}表示,他可以很好的实现将变动的数据与代码分离,这部分变化的数据就可以使用配置文件等诸多手段动态配置spring中的占位符应用的非常广泛,比如@Value注解@RequestMappingFeign等都支持${}spring为该功能定义了一个接口StringValueResolver,可以自定义实现类可以通过beanFactory.addEmbeddedValueR
shura1014
·
2023-11-27 10:17
spring
framework
spring
java
Java技术体系之框架原理篇(一)——
Spring源码
解析
目录1、容器的整体功能1.1从一个测试用例说起1.2刷新容器1.2.1环境准备1.2.2加载BeanFactory(详见章节2、Bean的解析和注册)1.2.3功能扩展1.2.4调用BeanFactoryPostProcessor(待研究)1.2.5注册BeanPostProcessor(注意这里不是调用,真正的调用在IoC流程里)1.2.6国际化处理(待研究)1.2.7初始化消息广播器1.2.8
东湖樵夫
·
2023-11-27 10:15
框架原理篇
java
spring
开发语言
【
Spring源码
篇】IoC之ApplicationContext中refresh过程
前言上篇讲到【
Spring源码
篇】事件监听机制(@EventListener实现方式)https://blog.csdn.net/Number_oneEngineer/article/details/123889743
_Romeo
·
2023-11-27 10:11
Spring源码
spring源码
applicaion
IoC
Spring源码
篇之SpEL表达式之自定义解析模版
简介其实前面文章我们已经介绍过了如何定义spring表达式的解析模版,但是那是直接使用表达式api的形式,对于使用spring的同学来说,更优雅的方式就是可以自定义一个扩展去修改本文就是介绍如何通过Spring的扩展点修改表达式解析模版自定义解析模版首先AbstractBeanFactory就有有一个解析器BeanExpressionResolver,这个前面文件介绍过,默认是一个Standard
shura1014
·
2023-11-27 10:10
spring
framework
spring
java
后端
探究Kafka原理-5.Kafka设计原理和生产者原理解析
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:
Spring源码
、JUC源码、Kafka原理如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023
爱吃芝士的土豆倪
·
2023-11-27 00:33
kafka
kafka
分布式
java
探究Kafka原理-4.API使用
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:
Spring源码
、JUC源码、Kafka原理如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023
爱吃芝士的土豆倪
·
2023-11-26 07:38
kafka
kafka
分布式
java
【
Spring源码
】Spring Event事件
目录1、前言2、什么是SpringEvent?3、基本使用3.1、定义事件3.2、发布事件3.3、监听事件3.3.1、继承ApplicationListener3.3.2、使用@EventListener注解4、SpringEvent是同步还是异步?4.1、源码实现4.2、如何实现异步4.2.1、使用@Async注解4.2.2、手动实现异步线程池4.2.3、自定义ApplicationEventM
有一只柴犬
·
2023-11-26 07:47
Spring
spring
java
比真香定律更加恐怖!那些统治软件开发中的著名定律
关注公众号:ITeye领最新
spring源码
教程,更多优质技术文章每天推送在这里,我把这些定律整理出来,分享给大家。墨菲定律(Murphy'sL
ITeye
·
2023-11-26 03:50
Spring源码
深度解析
目录一.IOC源码深度剖析1.一般第一步都是加载xml文件,创建一个ApplicationContext容器2.进入newClassPathXmlApplicationContext("classpath:applicationContext.xml")这个构造方法;3.进入核心方法refresh的源码4.核心方法源码解析5.IOC流程图二.Spring的循环依赖1.Spring解决循环依赖2.S
Mr Tang
·
2023-11-25 20:08
java
spring
源码
spring
java
后端
Spring源码
分析
Spring源码
分析Spring使用流程(此处以xml配置为例)xml配置beanApplicationac=newClassPathXmlAppliation(“applicationContext.xml
Armin_1024
·
2023-11-25 20:06
Spring
java
spring
Spring源码
粗粒度解析
1.SpringIOC流程首先IOC是用于管理Bean的一个容器,把所有的Bean创建好,使用的时候再调用1)IOC要管理哪些Bean呢?全部?非也:在原生的spring中,我们有一个xml文件,文件中有这么一段代码,如下在这个配置文件中的Bean标签中配置的Bean才会被IOC容器管理2)怎么读取XML文件?什么时候读取?newClassPathXmlApplication("applicati
好久不见灬
·
2023-11-25 17:01
模拟
Spring源码
思想,读取Spring Config配置文件,创建IOC容器,解析spring.xml,创建对象,放入IOC容器,注入依赖
1、Spring.xml2、ApplicationContext.javapackagecom.atguigu.ioc;importjava.util.HashMap;importjava.util.Map;publicinterfaceApplicationContext{MapbeanMap=newHashMapgetIocContainer();ObjectgetBean(Stringbea
丁总学Java
·
2023-11-25 05:50
#
Spring
Framework
spring
xml
java
dom4j
spring
config
Spring源码
剖析——依赖注入实现原理
文章目录引言依赖注入介绍源码剖析getBean触发的依赖注入getBean方法doGetBean方法创建完整Bean的流程creaBean方法doCreateBean方法createBeanInstance方法instantiateBean依赖关系的处理populateBean方法applyPropertyValues方法resolveValueIfNecessary方法setPropertyVa
钢铁-程序猿
·
2023-11-25 02:02
Spring技术内幕
spring源码
分析03-spring依赖注入源码解析
依赖注入流程图:1.Spring中有几种依赖注入的方式?1.1手动注入在XML中定义Bean时,就是手动注入,因为是程序员手动给某个属性指定了值。下面这种底层是通过set方法进行注入。下面这种底层是通过构造方法进行注入。2.自动注入自动注入又分为两种:XML的autowire自动注入@Autowired注解的自动注入2.1XML的autowire自动注入在XML中,我们可以在定义一个Bean时去指
华子哥、
·
2023-11-25 02:29
spring
spring
java
mybatis
探究Kafka原理-3.生产者消费者API原理解析
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:
Spring源码
、JUC源码、Kafka原理如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023
爱吃芝士的土豆倪
·
2023-11-24 22:41
kafka
kafka
分布式
java
探究Kafka原理-2.Kafka基本命令实操
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:
Spring源码
、JUC源码、Kafka原理如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023
爱吃芝士的土豆倪
·
2023-11-24 22:07
kafka
kafka
分布式
java
Spring源码
-循环依赖
循环依赖问题先分析下bean生命周期,简化版:1.扫描,获取所有的BeanDefinition,存入BeanDefinitionMap2.遍历BeanDefinition,准备创建bean3.推断构造方法,通过反射,实例化bean对象(原始对象)4.属性赋值5.初始化前,初始化6.初始化后,可能AOP7.把经过完整生命周期对象放入单例池SingletonObjects触发循环依赖-场景1:ABea
kk_0910
·
2023-11-24 18:18
spring
java
Spring源码
篇之推断构造方法
简介很多时候我们的构造器都不止一个,那么spring怎么选择的呢,签名介绍了推断构造方法的扩展点,可以使用@Autowired注解去选择使用哪个构造器,但是即使这样也有可能有多个Autowired且required为false的构造器,那么还是得选择前面我们介绍过了@Bean的实例化,其实推断构造器的逻辑与其相差不多。源码分析源码在org.springframework.beans.factory
shura1014
·
2023-11-24 07:58
spring
framework
spring
java
后端
Gradle 编译Spring 源码
1.
spring源码
下载gitclone--branchv5.1.3.RELEASEhttps://gitee.com/Z201/spring-framework.git2.gradle下载要根据spring
一个想改变世界的码农
·
2023-11-24 04:20
面试官:来!聊聊线程池的实现原理以及使用时的问题
扫描下方二维码或者微信搜索公众号菜鸟飞呀飞,即可关注微信公众号,阅读更多
Spring源码
分析和Java并发编程文章。
天堂2013
·
2023-11-24 00:38
多线程
Java
线程池
并发
Spring源码
-6.动态代理原理分析
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:
Spring源码
、JUC源码如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023计划中:源码溯源
爱吃芝士的土豆倪
·
2023-11-23 09:25
Spring
spring
java
后端
Spring源码
-5.aop代理
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:
Spring源码
、JUC源码如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023计划中:源码溯源
爱吃芝士的土豆倪
·
2023-11-23 09:55
Spring
spring
java
后端
程序员的护城河-并发编程
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:
Spring源码
、JUC源码如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023计划中:源码溯源
爱吃芝士的土豆倪
·
2023-11-23 09:55
JUC
java
juc
开发语言
探究Kafka原理-1.初识Kafka
作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家系列专栏:
Spring源码
、JUC源码、Kafka原理如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023
爱吃芝士的土豆倪
·
2023-11-23 09:14
kafka
kafka
分布式
消息队列
模拟
Spring源码
思想,手写源码,理解注解
1、BeanDefinitionpackagecom.csdn.myspring;importlombok.AllArgsConstructor;importlombok.Data;@Data@AllArgsConstructorpublicclassBeanDefinition{privateStringbeanName;privateClassbeanClass;}2、扫描包的工具类MyToo
丁总学Java
·
2023-11-23 02:39
#
Spring
Framework
spring
java
后端
设计模式-16-
Spring源码
中的设计模式
1-Spring之观察者模式Java、GoogleGuava都提供了观察者模式的实现框架。Java提供的框架比较简单,只包含java.util.Observable和java.util.Observer两个类。GoogleGuava提供的框架功能比较完善和强大:通过EventBus事件总线来实现观察者模式。实际上,Spring也提供了观察者模式的实现框架。Spring中实现的观察者模式包含三部分:
ycmy2017
·
2023-11-23 02:25
设计模式
设计模式
spring
java
Spring源码
篇之@Lookup详解
简介Lookup注解可能平时开发中大家接触的少,但是又确实挺有用的,比如我们一个单例Bean注入了一个原型Bean,原型Bean的效果其实是会失效的,因为单例Bean一开始就实例化好了,后面也不会再变化,但我们可能需要的就是原型Bean呀,那么怎么解决呢,如果注入的是一个动态的就好了,于是我们马上就会想到代理对象,spring中@Lookup就可以帮助我们实现该效果,原理就是生成了一个代理对象Lo
shura1014
·
2023-11-21 20:12
spring
framework
spring
java
后端
面试题:你简历中写到熟悉
Spring源码
,那你给我说说它用到了那些设计模式?
#模板方法(TemplateMethod)spring的jdbc模板,对
Spring源码
的精妙真是佩服得五体投地,极为经典。spring中真是集设计模式之大成,而且用得是炉火纯青。
java成功之路
·
2023-11-21 20:42
Spring源码
篇之@Bean的实例化
简介前面介绍了@Bean标记的方法如何注册为BeanDefinition,有了BeanDefinition后,就能根据其中的信息实例化一个对象在@Bean的BeanDefinition有几个比较重要的属性,一个是factoryMethodName,一个是factoryBeanNamefactoryMethodName可以表示该Bean是一个@Bean,而factoryBeanName可以知道该Be
shura1014
·
2023-11-21 15:04
spring
framework
spring
java
Spring源码
—初识IOC
System.out.println(“嗨,大家好,我是代码不会敲的小符,双非大四,Java实习中…”);System.out.println(“如果文章中有错误的地方,恳请大家指正!共同进步,共同成长✊”);System.out.println(“如果文章对您有所帮助,希望您可以三连支持一下博主噢”);System.out.println("正在完成计划中:接下来的三个月里,对梦想的追逐");初
代码不会敲
·
2023-11-21 08:47
Spring源码
java
spring
spring源码
环境构建
本文主要记录
Spring源码
的阅读环境的搭建和验证1.前置条件(我的环境)IntellijIDEA2020.1.3jdk1.8mavne3.6.1gradle5.6git操作系统Win102.安装Gradle
皮多堡
·
2023-11-21 00:22
Spring源码
深度解析之Spring扩展点BeanPostProcessor和BeanFactoryPostProcessor简述
通常,应用程序开发人员不需要为ApplicationContext实现类提供子类。相反,可以通过插入特殊集成接口的实现来扩展SpringIoC容器。Spring提供了两个非常重要的扩展接口BeanPostProcessor和BeanFactoryPostProcessorBeanFactoryPostProcessor主要是在对象实例化前对beanDefinition中的元数据进行修改并且Bean
在下喵星人
·
2023-11-20 18:07
【
Spring源码
】1.
Spring源码
的编译与打包
1.从github上获取
spring源码
2.准备工作2.1.添加为gradle项目2.2.修改build.gradle2.3、添加settings.gradle阿里云插件仓库3.获取依赖,打包3.1.获取依赖
天还下着毛毛雨
·
2023-11-20 10:51
idea提示git is not installed与“meaningless REX prefix used”
前两天准备学习
spring源码
,照着教程开始下载和编译源码,这时idea右下角突然蹦出气泡弹窗,提示git未配置,让我安装git。
康桑米拉达
·
2023-11-20 00:53
问题汇总
java
idea
windows
git
Spring源码
篇之实例化前的后置处理器
简介spring在创建Bean的过程中,提供了很多个生命周期,实例化前就是比较早的一个生命周期,顾名思义就是在Bean被实例化之前的处理,这个时候还没实例化,只能拿到该Bean的Class对象,如果在这个时候直接返回一个对象,那么就不用spring给我们创建了简单使用实现InstantiationAwareBeanPostProcessor接口的postProcessBeforeInstantia
shura1014
·
2023-11-19 14:47
spring
framework
spring
java
Spring源码
环境搭建
源码地址:https://github.com/spring-projects/spring-framework选择版本:image.png下载image.pngbuildfromsourceimage.pnghttps://github.com/spring-projects/spring-framework/wiki/Build-from-Sourceimage.png将项目导入到IDEhtt
垃圾简书_吃枣药丸
·
2023-11-19 09:53
8.
spring源码
篇只Scope
简介我们常见的Bean有单例Bean与多例Bean,但其实scope还有有一些其它的值,如果只是使用简单的spring就只有这些,但是要是使用SprigBoot或者SpringMvc,那么就就还会有一些其它的比较常用的值,例如session,requestspring对Scope的判断如果是一个单例bean,spring就只需要创建一次,多例每次都创建,还有一些其它的scope也是会在指定时候创建
shura1014
·
2023-11-19 05:37
spring
framework
spring
java
Spring源码
篇之BeanPostProcessor
简介在Bean的创建过程中会有很多的后置处理器,例如实例化前、实例化后、初始化前、初始化后,属性填充等,这些都是通过BeanPostProcessor来实现的那么既然每个Bean都有有这些生命周期,这些BeanPostProcessor肯定需要提前知道,并且实例化出来保存,而我们前面介绍来BeanDefinition的扫描,就可以把所有的Bean找出来,只要在实例化单例Bean之前把BeanPos
shura1014
·
2023-11-19 05:37
spring
framework
spring
Spring源码
之AnnotationConfigApplicationContext
一、spring模块spring-corespring-beansspring-context:以core和beans模块为基础构建,提供上下文的构建spring-context-support:整合第三方库spring-expression:提供表达式支持spring-aop:切面模块spring-aspects:提供AspetJ的集成spring-instrument:类加载器的实现sprin
何忆清风
·
2023-11-19 05:36
spring
java
7.
spring源码
篇之DependOn
简介很多时候一个Bean需要依赖另一个Bean先实例化,例如一个BBean实例化设置了一个全局属性,而ABean恰好需要依赖于这个属性,没有就报错,但是这个顺序自己是把握不了的,这个时候就可以使用DependOn示例publicclassGlobalContext{publicstaticbooleanisActive=false;}@ComponentpublicclassBBean{publi
shura1014
·
2023-11-19 05:06
spring
framework
spring
java
第十章 Spring之源码阅读——IOC篇
Spring源码
阅读目录第一章Spring之最熟悉的陌生人——IOC第二章Spring之假如让你来写IOC容器——加载资源篇第三章Spring之假如让你来写IOC容器——解析配置文件篇第四章Spring
穷儒公羊
·
2023-11-19 05:05
Spring
spring
java
Spring源码
之BeanFactoryPostProcessor
一、前言BeanFactoryPostProcessor:Spring的重要扩展点,增强beanFactory的功能;可以在加载解析BeanDefinition之后,可以对BeanDefinition进行修改;可以新增一些特殊的BeanPostProcessor,比如newXxx(beanFactory)新增带有beanFactory的BeanPostProcessor;BeanDefinitio
吖土豆
·
2023-11-19 05:29
spring原理及源码
spring
java
后端
Spring源码
解析之AOP篇
文章目录什么是AOP?准备工作基础概念使用方式代理机制调用流程启用自动代理注册后置处理器解析@Aspect切面配置生成代理对象调用代理方法什么是AOP?AOP(AspectOrientedProgramming):面向切面编程,与面向对象编程OOP的关键单位是类不一样,它的关键单位是切面,它通过提供改变程序结构的方式来补充OOP。通俗点就是说我们可以通过预编译或者运行时动态代理在不修改方法源码的情
风动草-
·
2023-11-19 05:59
Spring
java
spring
Spring源码
解析之循环依赖
文章目录什么是循环依赖?Spring中的循环依赖原因发生场景与分析有参构造方法注入无参构造方法注入@DependsOn注解解决方案主、辅缓存@Lazy注解设计本意总结什么是循环依赖?循环依赖:在依赖注入的过程中,多个Bean对象互相持有对方的引用,比如A对象中包含B对象,B对象中包含A对象,以此类推,它们看上去就像是一个圆环,首尾相连。了解完之后你可能会有疑问:这样的情况会引发什么问题?所谓知其然
风动草-
·
2023-11-19 05:58
Spring
java
spring
一.
spring源码
分析 - 从图熟悉
spring源码
执行流程
原图地址:https://www.processon.com/view/link/5f674e927d9c0833ecf7bcba总结:spring提供了后置处理器:bean工厂后置处理器(BeanFactoryPostProcessor)和bean后置处理器(BeanPostProcessor)。spring启动过程:第一步:注册后置处理器到BeanDefinitionMap,主要注册Confi
名猿陈大浏
·
2023-11-19 05:28
spring
spring
java
bean
ioc
aop
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他