Spring IoC细节
老dubbo
真正的大师,永远怀着一颗学徒的心!
展开
-
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 · 297 阅读 · 0 评论 -
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 · 489 阅读 · 0 评论 -
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 · 246 阅读 · 0 评论 -
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 · 524 阅读 · 0 评论 -
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 · 207 阅读 · 0 评论 -
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 · 189 阅读 · 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 · 300 阅读 · 0 评论 -
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 · 576 阅读 · 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 · 184 阅读 · 0 评论 -
Spring IoC的细节--DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(Element ele)
DefaultBeanDefinitionDocumentReader: //使用Spring的Bean规则解析Document元素节点 private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { //如果元素节点是<Import>导入元素,进行导入解析 ...原创 2019-10-24 18:32:15 · 197 阅读 · 0 评论 -
Spring IoC的细节--DefaultBeanDefinitionDocumentReader.createDelegate(...)
DefaultBeanDefinitionDocumentReader: protected void doRegisterBeanDefinitions(Element root) { //任何嵌套的<beans>元素都会在这个方法中引起递归。 // 这种行为模拟了一堆委托,但实际上并不需要一个。 // 为了正确地传播和保留<beans>default...原创 2019-10-10 22:22:02 · 174 阅读 · 0 评论 -
Spring IoC的细节--XmlBeanDefinitionReader.doLoadDocument(InputSource inputSource, Resource resource)
参考博客:https://blog.csdn.net/lyc_liyanchao/article/details/83004510XmlBeanDefinitionReader:protected int doLoadBeanDefinitions(InputSource inputSource, Resource resource) throws BeanDefinitionStore...原创 2019-10-09 20:14:15 · 401 阅读 · 0 评论 -
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 · 448 阅读 · 0 评论 -
Spring IoC的细节--AbstractBeanDefinitionReader.getResourceLoader()
AbstractBeanDefinitionReader: public int loadBeanDefinitions(String location, @Nullable Set<Resource> actualResources) throws BeanDefinitionStoreException { //获取资源加载器,该资源加载器事实上是Class...原创 2019-10-07 23:11:23 · 246 阅读 · 0 评论 -
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 · 208 阅读 · 0 评论 -
Spring IoC的细节--AbstractXmlApplicationContext(@Nullable ApplicationContext parent)
ClassPathXmlApplicationContext: public ClassPathXmlApplicationContext( String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws BeansException { //设置传入进来的父容器...原创 2019-10-07 22:41:52 · 177 阅读 · 0 评论