Spring框架核心源代码的分析及其感受-6

}

              else {

                  if ( this . logger .isInfoEnabled()) {

                     this . logger .info( "Overriding bean definition for bean '" + beanName +

                            "': replacing [" + oldBeanDefinition + "] with [" + beanDefinition + "]" );

                  }

              }

           }

           else {

              this . beanDefinitionNames .add(beanName);

              this . frozenBeanDefinitionNames = null ;

           }

            this . beanDefinitionMap .put(beanName, beanDefinition);

 

           resetBeanDefinition(beanName);

       }

    }

 

OK! 对于 XML 配置信息,我们知道了 Spring 的处理过程, XML 加载 -> 解析并存入 BeanDefinition->BeanDefinition 存入 HashMap( 注册的过程 ) ,以便其他程序使用。

 

从上面的分析可以知道,这个过程中没有用到什么漂亮的东西,顶多用到了 XML 解析( SAX )和面向对象的基本理念(继承、接口、模板设计模式等等),其实实现一个“系统”并不复杂,而是我们如何利用基本的原材料(基础技术)来将它们融合起来,那么方法就是对“领域”过程的关注点分离 ,然后再组合的过程。我下一篇将直接进入 ApplicationContext 对象的 getBean 方法取寻找依赖注入和对象工厂的细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值