- 博客(20)
- 资源 (1)
- 收藏
- 关注

原创 Spring IoC的细节--面试必问之BeanFactory和FactoryBean的区别
BeanFactory和FactoryBean的区别BeanFactory的介绍:官网对于BeanFactory的解释:https://docs.spring.io/spring/docs/5.0.4.RELEASE/spring-framework-reference/core.html#beans-beanfactory英文不好的同学,看着头疼吧?没关系,下面有我粗略的中文翻译(有不正...
2019-11-26 10:49:25
334

原创 Spring源码分析(1)--准备篇
准备篇注意:本文基于spring-5.0.4.RELEASE版本源码的研究。1)下载gradle,因为spring工程是基于gradle,推荐自己下载一个gradle,解决一些不必要问题,且你的版本最好跟我的统一gradle-1.6http://services.gradle.org/distributions下载到本地后,解压到你本地E:\java\gradle-1.6路径下(自己做对...
2019-09-26 12:11:15
169
原创 Spring IoC的细节--initializeBean(final String beanName, final Object bean, RootBeanDefinition mbd)
protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final @Nullable Object[] args) throws BeanCreationException { //实例化Bean BeanWrapper instanceWrapper = null;...
2019-12-09 14:48:08
329
原创 Spring IoC的细节--populateBean(String beanName, RootBeanDefinition mbd, BeanWrapper bw)依赖注入过程
protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final @Nullable Object[] args) throws BeanCreationException { //实例化Bean BeanWrapper instanceWrapper = null;...
2019-12-09 14:24:52
525
原创 Spring IoC的细节--AbstractAutowireCapableBeanFactory.createBeanInstance(...)
protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final @Nullable Object[] args) throws BeanCreationException { //实例化Bean BeanWrapper instanceWrapper = null; ...
2019-12-09 13:41:50
273
原创 Spring IoC的细节--DefaultNamespaceHandlerResolver.resolve(String namespaceUri)
BeanDefinitionParserDelegate: @Nullable public BeanDefinition parseCustomElement(Element ele, @Nullable BeanDefinition containingBd) { //解析节点的命名空间 String namespaceUri = getNamespaceURI(ele); i...
2019-11-30 11:23:18
571
原创 Spring IoC的细节--BeanDefinitionParserDelegate.parseCustomElement(Element ele)
DefaultBeanDefinitionDocumentReader:protected void parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate) { //Bean定义的Document对象使用了Spring默认的XML命名空间 if (delegate.isDefaultNamespa...
2019-11-29 18:37:47
256
原创 Spring IoC的细节--AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(instan,name,beanName,bd)
protected Object getObjectForBeanInstance( Object beanInstance, String name, String beanName, @Nullable RootBeanDefinition mbd) { // 获取当前线程是否有正在创建的Bean,有的话,注册该依赖关系 String currentlyCreatedBean ...
2019-11-26 11:41:23
222
1
原创 Spring IoC的细节--BeanDefinitionParserDelegate.parseBeanDefinitionElement(Element ele)
//解析Bean定义资源Document对象的普通元素 protected void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) { //将Element元素--->BeanDefinition的过程在此 //对Document对象中<Bean>元素的解析由...
2019-10-28 12:16:47
623
2
原创 Spring IoC的细节--DefaultBeanDefinitionDocumentReader.processAliasRegistration(Element ele)
DefaultBeanDefinitionDocumentReader: //使用Spring的Bean规则解析Document元素节点 private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { //如果元素节点是<Import>导入元素,进行导入解析 ...
2019-10-25 12:25:32
209
原创 Spring IoC的细节--DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(Element ele)
DefaultBeanDefinitionDocumentReader: //使用Spring的Bean规则解析Document元素节点 private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { //如果元素节点是<Import>导入元素,进行导入解析 ...
2019-10-24 18:32:15
233
原创 Spring IoC的细节--DefaultBeanDefinitionDocumentReader.createDelegate(...)
DefaultBeanDefinitionDocumentReader: protected void doRegisterBeanDefinitions(Element root) { //任何嵌套的<beans>元素都会在这个方法中引起递归。 // 这种行为模拟了一堆委托,但实际上并不需要一个。 // 为了正确地传播和保留<beans>default...
2019-10-10 22:22:02
209
原创 Spring IoC的细节--XmlBeanDefinitionReader.doLoadDocument(InputSource inputSource, Resource resource)
参考博客:https://blog.youkuaiyun.com/lyc_liyanchao/article/details/83004510XmlBeanDefinitionReader:protected int doLoadBeanDefinitions(InputSource inputSource, Resource resource) throws BeanDefinitionStore...
2019-10-09 20:14:15
436
原创 Spring IoC的细节--AbstractApplicationContext.getResources(String locationPattern)
AbstractBeanDefinitionReader: public int loadBeanDefinitions(String location, @Nullable Set<Resource> actualResources) throws BeanDefinitionStoreException { //获取资源加载器,该资源加载器事实上是Class...
2019-10-09 08:20:07
488
原创 Spring IoC的细节--AbstractBeanDefinitionReader.getResourceLoader()
AbstractBeanDefinitionReader: public int loadBeanDefinitions(String location, @Nullable Set<Resource> actualResources) throws BeanDefinitionStoreException { //获取资源加载器,该资源加载器事实上是Class...
2019-10-07 23:11:23
277
原创 Spring IoC的细节--AbstractRefreshableConfigApplicationContext.setConfigLocations(configLocations)
public ClassPathXmlApplicationContext( String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws BeansException { //设置传入进来的父容器、创建Bean资源解析器 super(parent); // 代码...
2019-10-07 22:53:39
244
原创 Spring IoC的细节--AbstractXmlApplicationContext(@Nullable ApplicationContext parent)
ClassPathXmlApplicationContext: public ClassPathXmlApplicationContext( String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws BeansException { //设置传入进来的父容器...
2019-10-07 22:41:52
216
spring.zip
2019-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人