}
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
方法取寻找依赖注入和对象工厂的细节。
分享到:
相关推荐
Spring框架是Java开发中不可或缺的一部分,它以依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)为核心,提供了丰富的功能来简化企业级应用的开发。当我们深入理解...
《Spring Boot 揭秘与实战》系列源代码涉及了使用Spring Boot框架进行开发的一系列实践案例,包括但不限于配置、编码、测试以及部署等方面。作为当今流行的开源框架,Spring Boot简化了基于Spring的应用开发,通过...
1. **SpringBoot**:SpringBoot是Spring平台和第三库的集成,它利用了Spring框架的核心特性,简化了配置文件,实现了自动配置,并且支持快速构建独立的Spring应用程序。 - **优点**:易于理解和使用,可快速搭建...
源代码将被合理组织,并包含适当的注释,以便其他开发者理解和维护。此外,代码将遵循代码规范和最佳实践,确保代码质量。 系统的用户界面将采用现代化的Web设计语言,如HTML5、CSS3和JavaScript等,以提供响应式和...
【标题】"20170117-171626-49634_java书城系统_网上书城_源码"所指的是一个基于Java编程语言开发的网上书城系统源代码。这个系统可能包含了实现网上书店核心功能的所有必要组件,如用户管理、书籍展示、购物车、订单...
在平台的实现过程中,sheuquyanglaofuwu这一子文件夹包含了所有的源代码文件,这些源码文件是整个平台的核心,通过它们的整合和编译,最终形成了可供部署和运行的养老服务应用程序。 springboot187社区养老服务平台...
本项目是一个基于Java语言,采用ssm(Spring+SpringMVC+MyBatis)框架开发的电影推荐系统,其核心算法是协同过滤(Collaborative Filtering),并提供了完整的源代码、说明文档以及演示PPT。 协同过滤是推荐系统中...