`

转载:spring 中加载xml配置文件的几种方法

 
阅读更多
原文地址:http://noobjava.iteye.com/blog/976472
  • 一:Spring中的几种容器都支持使用xml装配bean,包括:
  •     XmlBeanFactory ,
  •     ClassPathXmlApplicationContext ,
  •     FileSystemXmlApplicationContext ,
  •     XmlWebApplicationContext
  • 加载这些容器的配置文件的xml有一下几种常见的方法:
  • 1:引用资源用XmlBeanFactory(不能实现多个文件相互引用)
  •     Resource resource = new ClassPathResource("appcontext.xml"); 
  •     BeanFactory factory = new XmlBeanFactory(resource); 
  •       从factory中获取相应资源文件中的bean,但是这种bean读不到引用了其他文件中的bean!
  • 2:引用应用上下文用ClassPathXmlApplicationContext
  •     ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");  
  •     ApplicationContext factory=new ClassPathXmlApplicationContext("conf/userConfig.xml");   // src/conf 目录下的  
  •     ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml"); 
  • 3:用文件系统的路径引用应用上下文用FileSystemXmlApplicationContext
  •     ApplicationContext factory=new FileSystemXmlApplicationContext("src/applicationContext.xml");       
  •     ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml"); 
  •     ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml"); 
  •     ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml"); 
  • 注意:在2、3的加载方式中可以加载多个配置文件,获取到ApplicationContext 对象中
  •     String[] configs = {"applicationContext.xml","user_spring.xml"}; 
  •     ApplicationContext ctx = new ClassPathXmlApplicationContext(configs); 
  •     //ApplicationContext ctx=new FileSystemXmlApplicationContext(configs); 
  •     AbstractDao myUserDAO =  (AbstractDao) ctx.getBean("userDao");       
  • 4:Web工程定制的加载方法 XmlWebApplicationContext
  •     ServletContext servletContext = request.getSession().getServletContext(); 
  •     ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext ); 
  • 注:web.xml里面可以定义两种参数:
  •         1、application范围内的参数,存放在servletcontext中。<context-param>中的参数(可以指定多个文件)
  •         2、servlet范围内的参数,只能在servlet的init()方法中取得, <init-param>中的参数,在init方法中用this.getInitParameter("param1")获取
  • 二:要是spring配置多个xml,并且这些文件相互应用的加载方式
  • 1:在web.xml配置,应用服务去加载
  •  
  •     <servlet> 
  •         <servlet-name>app</servlet-name> 
  •         <servlet-class> 
  •                   org.springframework.web.servlet.DispatcherServlet 
  •         </servlet-class> 
  •         <context-param> 
  •               <param-name>contextConfigLocation</param-name> 
  •               <param-value>/WEB-INF/applicationContext*.xml,/WEB-INF/user_spring*.xml</param-value> 
  •         </context-param> 
  •         <load-on-startup>1</load-on-startup>   
  •      </servlet> 
  • 2:在/WEB-INF/applicationContext.xml配置应用服务去加载
  •   可以在applicationContext.xml中用import引入其他的配置文件
  •     <import resource="user_spring.xml" /> 


分享到:
评论

相关推荐

    Spring 加载多个配置文件

    除了直接通过 ApplicationContext 或者 ContextLoaderListener 加载配置文件,还可以在现有的 XML 配置文件中使用 `&lt;import&gt;` 标签导入其他的配置文件。这种方式允许开发者在主配置文件中引用其他辅助配置文件,...

    加载properties配置文件的几种方法

    本文将深入探讨在SSM框架下加载properties配置文件的几种常见方法。 1. **使用Spring的PropertyPlaceholderConfigurer** Spring提供了`PropertyPlaceholderConfigurer`类,可以方便地从.properties文件中读取属性...

    Spring Boot技术知识点:如何读取不同路径里的applicationContext.xml配置文件4

    如果XML配置文件位于`src/main/resources/META-INF/spring.factories`文件中,Spring Boot会自动加载它们。创建一个名为`org.springframework.boot.autoconfigure.EnableAutoConfiguration`的键,并将你的XML配置...

    day38 04-Spring加载配置文件

    Spring加载XML配置文件的过程分为几个步骤: 1. **定位配置文件**:根据提供的路径找到XML配置文件。 2. **解析XML文件**:使用DOM或SAX解析器将XML内容转换为内存中的对象结构。 3. **构建BeanDefinition**:从解析...

    spring配置文件加密实现

    为了集成TE网络到Spring应用中,我们需要在应用程序启动时挂载这个加密文件系统,并确保Spring加载配置文件时通过这个加密层。这通常涉及到自定义类加载器或者修改Spring的初始化逻辑。当Spring尝试读取配置文件时,...

    struts核心jar包及xml配置文件

    本压缩包包含了Struts2的核心库jar文件以及相关的XML配置文件,这些都是开发Struts2应用的基础组件。 **1. Struts2核心jar包** Struts2的核心jar包是实现框架功能的关键,主要包括以下几个部分: - **struts2-core...

    java实现Spring在XML配置java类的方法

    3. 使用Spring的IoC容器加载XML配置文件,根据bean定义创建和管理对象。 这个过程使得我们可以将类的创建和配置与实际业务逻辑分离,提高了代码的可维护性和可测试性,这也是Spring框架的核心优势之一。

    Java 加载配置文件的方式

    本篇文章将详细探讨Java中加载配置文件的几种常见方式。 1. **使用Properties类** Java标准库中的`java.util.Properties`类是处理.properties文件的主要工具。我们可以使用`Properties.load()`方法从InputStream中...

    整合Spring与Struts的几种方法

    2. **使用DelegatingRequestProcessor替换RequestProcessor**:在`struts-config.xml`中,将Struts的RequestProcessor替换为Spring的`DelegatingRequestProcessor`,并在Spring配置文件中定义与Struts `...

    操作XML工程文件

    - ClassPathXmlApplicationContext:用于从类路径下的XML配置文件中加载Spring容器。 - FileSystemXmlApplicationContext:从文件系统的XML配置文件加载容器。 - BeanUtils:提供了一组工具方法,如...

    SpringBoot之logback-spring.xml不生效的解决方法

    4. **排除其他日志配置文件**:如果存在多个日志配置文件(如`logback.xml`),Spring Boot可能会优先加载它们。删除或注释掉其他非`logback-spring.xml`的日志配置文件。 5. **验证配置文件内容**:确保`logback-...

    spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext

    标题提到的“ClassPathXmlApplicationContext”是 Spring 提供的三种 ApplicationContext 实现之一,主要用来加载类路径下的 XML 配置文件。 ApplicationContext 的主要功能包括: 1. **Bean的管理**:...

    精彩:Spring Security 演讲PPT

    3. **定义安全规则**: 在Spring Security配置文件中定义具体的认证和授权规则,如使用数据库存储用户信息、使用自定义登录页面等。 #### 四、Spring Security 2.x 概览 Spring Security 2.x不仅提供了强大的功能...

    spring aop xml实现

    在Spring中实现AOP,我们需要在XML配置文件中定义以下几个部分: 1. **配置Spring容器**:首先,确保Spring的配置文件(如`applicationContext.xml`)已经包含了AOP的命名空间,通常添加如下: ```xml xmlns:aop=...

    详解SpringMVC加载配置Properties文件的几种方式

    这是最常用的方式,通过在Spring的配置文件(如`spring.xml`)中引入`context`命名空间,并使用`context:property-placeholder`标签来指定Properties文件的位置。 ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; ...

    Spring Bean 加载顺序 .

    在实验小例子中,我们可能看到这几种配置方式的组合。Spring会首先读取这些配置源,将其转换为Bean定义。 2. **Bean定义注册**: 解析后的配置会被转化为BeanDefinition对象,包含Bean的类名、依赖、初始化方法等...

    Java中spring读取配置文件的几种方法示例

    `ClassPathXmlApplicationContext`是Spring提供的一个实现`ApplicationContext`接口的类,它负责加载指定路径下的XML配置文件,解析文件中的Bean定义,并实例化Bean。在这个例子中,我们通过调用`getBean`方法获取了...

    三种数据库连接的配置XML文件

    这样的配置允许在不修改代码的情况下,通过修改XML配置文件就能改变数据库连接参数,增加了程序的灵活性和可维护性。 XML文件在数据库连接中的角色主要是配置和管理数据源,包括但不限于以下几点: 1. 存储数据库...

    Spring的log4j以及配置文件

    这允许我们在不重启应用的情况下,通过修改外部的配置文件来调整日志级别和输出方式。 总的来说,理解和配置好Spring中的Log4j对于开发和维护Spring应用至关重要。通过合理配置`log4j.properties`文件,开发者可以...

    Spring動態加載Bean

    2. **XML配置**:在传统的XML配置中,可以使用`lazy-init="true"`属性实现Bean的懒加载。如: ```xml ``` 3. **使用`ApplicationContext`接口**:程序可以通过`ApplicationContext`的`getBean`方法按需加载特定...

Global site tag (gtag.js) - Google Analytics