`
JerryWang_SAP
  • 浏览: 1030209 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Spring框架里解析配置文件的准确位置

阅读更多

We can define bean configuration in xml and then can get instantiated bean instance with help of all kinds of containers for example ClassPathXmlApplicationContext as displayed below:

 

 

The content of Beans.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!--  http://stackoverflow.com/questions/18802982/no-declaration-can-be-found-for-element-contextannotation-config
 -->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">   
   <bean id="helloWorld" class="main.java.com.sap.HelloWorld">
       <property name="message" value="sss"/>
       <property name="testMin" value="2"/>
       <property name="phone" value="1"/>
   </bean>
</beans>

Where can we set breakpoint to start? No hint. Here is a tip: we can make the Beans.xml invalid by deliberately changing te tag bean to beana, and relaunch application. Now exception is raised as expected: Click the hyperlink XmlBeanDefinitionReader.java:399,

 

 

The line 399 where exception is raised will be automatically located. The core logic to load xml file is just near the exception raise position: line 391. So we can set breakpoint in line 391 now:

 

 

Change the tag from beana back to bean, and start application via debug mode. The code below is the core logic of Bean configuration file parse in Spring framework. The logic consists of two main steps:

(1) parse XML as a dom structure in memory ( line 391 ) (2) extract bean information contained in dom structure and generate BeanDefinition structure ( line 392 )

 

 

from screenshot below we can find out the xml is parsed via SAX parser:

 

 

My “helloWorld” bean is parsed here:

 

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
0
分享到:
评论

相关推荐

    spring+springmvc+mybatis框架全部基础配置文件

    主要配置文件可能是`dispatcherServlet-servlet.xml`,在这个文件中,你会看到视图解析器(如InternalResourceViewResolver)的配置,它负责将处理结果转换为视图。此外,还有HandlerMapping和HandlerAdapter的配置...

    Spring依赖包和配置文件

    总结来说,Spring依赖包和配置文件是Spring框架开发的基础,它们协同工作,为开发者提供了高效、灵活的应用程序构建工具。正确理解和使用这些组件,能够显著提升开发效率和代码质量。在实际项目中,还需要结合具体...

    Spring动态加载配置文件

    在Spring框架中,动态加载配置文件是一项重要的功能,它使得开发者在开发过程中无需重启应用就能实时更新配置,极大地提高了开发效率。热部署方案是这一功能的具体应用,它允许我们在不中断服务的情况下,对应用程序...

    模拟spring的xml配置文件注入

    总之,模拟Spring的XML配置文件注入是一个深入了解Spring框架和XML解析的好方法。通过SAXBuilder解析XML,结合反射和Java Bean机制,我们可以手动创建并管理对象的生命周期,实现依赖注入,从而更好地理解Spring的...

    ssm框架spring+mybatis+mvc

    - 配置Spring MVC:创建Spring MVC的配置文件,设置DispatcherServlet、视图解析器、拦截器等。 - 编写业务逻辑:创建Service层,使用@Autowired注解注入需要的Bean,实现业务逻辑。 - 编写DAO层:创建Mapper接口...

    Spring 最全约束配置文件

    ### Spring 最全约束配置文件知识点解析 #### 一、Spring框架简介 Spring是一个开源的Java应用框架,由Rod Johnson创建并领导开发。该框架的主要目标是简化企业级应用程序的开发,提供了一种轻量级的方式来处理...

    springmvc + spring + mybatis + maven整合配置文件

    1. **Mapper接口**:定义数据库操作的方法,与XML配置文件或注解对应。 2. **SQL映射文件**:编写具体的SQL语句,可以动态化处理,支持复杂的查询需求。 3. **MyBatis-Spring整合**:使MyBatis与Spring无缝集成,...

    Spring配置文件集合

    Spring框架是Java开发中广泛应用的轻量级框架,它的核心在于IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。在本压缩包中,我们找到了一系列与Spring相关的配置文件,...

    ssm框架整合配置文件

    在实际项目中,根据具体需求,开发者还需要对这些配置文件进行相应的调整,例如添加新的数据源、自定义拦截器、修改视图解析规则等。通过对SSM框架的深入理解和配置文件的灵活调整,可以构建出高效且易于维护的Java ...

    java 解析xml,模拟spring框架ioc

    本教程将深入探讨如何模拟Spring框架的IOC(Inversion of Control,控制反转)功能,特别关注XML配置文件的解析。 首先,我们需要理解什么是IOC。控制反转是一种设计原则,它将对象的创建和管理从对象本身剥离出来...

    Spring核心源码解析.pdf

    本篇文档将对Spring框架的核心源码进行解析,以帮助开发者更深入地理解Spring的工作原理和核心概念。 首先,Spring框架通过使用IoC容器来管理应用对象的创建和依赖关系。这种做法可以让程序员从创建对象的复杂性中...

    ssm框架配置文件及jar包

    本文将详细解析SSM框架的配置文件及其jar包,以便于理解和使用。 首先,Spring框架是核心的依赖管理框架,它提供了一个容器来管理对象的生命周期和依赖关系。在本项目中,使用的Spring版本为4.3.9,这是一个稳定且...

    Spring4 jar包和Spring配置文件

    Spring框架是Java开发中最常用的轻量级框架之一,它的核心在于IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。在本压缩包中,你将找到Spring4版本的相关jar包,这些是...

    SSM框架的配置搭建 spring、 spring mvc、 mybatis 整合详解

    4. **配置Spring MVC**:创建Spring MVC的配置文件,如`servlet-context.xml`,配置DispatcherServlet、视图解析器(如InternalResourceViewResolver)、拦截器等。 5. **配置MyBatis**:编写MyBatis的全局配置文件...

    java spring框架学习资料 pdf

    在IoC容器部分,你会了解到如何通过配置文件或注解来管理对象及其依赖关系,实现松耦合,提高代码的可测试性和可维护性。Spring的AOP功能则允许开发者在不修改原有业务代码的情况下,实现如日志记录、事务管理等横切...

    Spring框架约束文件 spring-framework-4.3.RELEASE-shcema

    3. DTD文件:DTD(Document Type Definition)是XML文档的结构定义,Spring框架的DTD文件定义了Spring配置文件的合法元素和属性,保证了XML配置的合法性。 4. WebSocket支持:Spring 4.3开始加强了对WebSocket协议的...

    ssm框架整合级配置文件

    首先,Spring框架的配置文件通常命名为`applicationContext.xml`,它定义了Bean的生命周期和依赖关系。在SSM整合中,Spring负责管理整个应用的上下文,包括数据源、事务管理器、DAO接口以及Service接口的实现等。...

    Spring之AOP配置文件详解

    #### 二、Spring AOP配置文件解析 在给定的配置文件中,我们看到了一个典型的Spring AOP配置实例。接下来我们将对这段配置进行详细的分析与解读。 ##### 2.1 配置文件头 ```xml ``` 这是XML文档的声明部分,...

    ssm框架所需配置文件

    - `spring-mvc.xml`:这是SpringMVC的配置文件,主要用于配置DispatcherServlet的行为,如视图解析器、拦截器、模型视图对象等。 2. **MyBatis配置文件**: - `mybatis-config.xml`:MyBatis的全局配置文件,包含...

Global site tag (gtag.js) - Google Analytics