`

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

    博客分类:
  • ssh
阅读更多

一:Spring中的几种容器都支持使用xml装配bean,包括: 
    XmlBeanFactory , 
    ClassPathXmlApplicationContext , 
    FileSystemXmlApplicationContext , 
    XmlWebApplicationContext 
加载这些容器的配置文件的xml有一下几种常见的方法: 
1:引用资源用XmlBeanFactory(不能实现多个文件相互引用) 

Java代码  收藏代码
  1. Resource resource = new ClassPathResource("appcontext.xml");  
  2. BeanFactory factory = new XmlBeanFactory(resource);  

      从factory中获取相应资源文件中的bean,但是这种bean读不到引用了其他文件中的bean! 
2:引用应用上下文用ClassPathXmlApplicationContext 
Java代码  收藏代码
  1. ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");   
  2. ApplicationContext factory=new ClassPathXmlApplicationContext("conf/userConfig.xml");   // src/conf 目录下的   
  3. ApplicationContext factory=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml");  

3:用文件系统的路径引用应用上下文用FileSystemXmlApplicationContext 
Java代码  收藏代码
  1. ApplicationContext factory=new FileSystemXmlApplicationContext("src/applicationContext.xml");        
  2. ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");  
  3. ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml");  
  4. ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");  

注意:在2、3的加载方式中可以加载多个配置文件,获取到ApplicationContext 对象中 
Java代码  收藏代码
  1. String[] configs = {"applicationContext.xml","user_spring.xml"};  
  2. ApplicationContext ctx = new ClassPathXmlApplicationContext(configs);  
  3. //ApplicationContext ctx=new FileSystemXmlApplicationContext(configs);  
  4. AbstractDao myUserDAO =  (AbstractDao) ctx.getBean("userDao");        

4:Web工程定制的加载方法 XmlWebApplicationContext 
Java代码  收藏代码
  1. ServletContext servletContext = request.getSession().getServletContext();  
  2. 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配置,应用服务去加载 
  
Xml代码  收藏代码
  1. <servlet>  
  2.     <servlet-name>app</servlet-name>  
  3.     <servlet-class>  
  4.               org.springframework.web.servlet.DispatcherServlet  
  5.     </servlet-class>  
  6.     <context-param>  
  7.           <param-name>contextConfigLocation</param-name>  
  8.           <param-value>/WEB-INF/applicationContext*.xml,/WEB-INF/user_spring*.xml</param-value>  
  9.     </context-param>  
  10.     <load-on-startup>1</load-on-startup>    
  11.  </servlet>  

2:在/WEB-INF/applicationContext.xml配置应用服务去加载 
  可以在applicationContext.xml中用import引入其他的配置文件 
  
Xml代码  收藏代码
  1. <import resource="user_spring.xml" />  

分享到:
评论

相关推荐

    Spring 加载多个配置文件

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

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

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

    spring配置文件加密实现

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

    day38 04-Spring加载配置文件

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

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

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

    struts核心jar包及xml配置文件

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

    Java 加载配置文件的方式

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

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

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

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

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

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

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

    整合Spring与Struts的几种方法

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

    Hibernate 和 Spring的结合配置文件

    同时,`Spring`的配置文件(如`applicationContext.xml`)中会包含`Hibernate`的相关bean定义,如SessionFactory、DataSource、TransactionManager等,实现对`Hibernate`的管理。 接着,`HQL`是`Hibernate`提供的...

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

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

    Spring的log4j以及配置文件

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

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

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

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

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

    操作XML工程文件

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

    Spring Bean 加载顺序 .

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

    spring中aop的xml配置方法实例详解

    在XML配置中,你需要在Spring配置文件中定义目标对象、切面类以及具体的切点和通知。 首先,创建目标对象。在例子中,`BraveKnight` 类代表核心业务逻辑,它有一个`saying()` 方法。然后创建切面类 `Minstrel`,...

    Spring延迟加载和声明式事务处理最终解决方案(修正版)

    - **XML配置**:在Spring的配置文件中定义事务管理器(如`PlatformTransactionManager`),并声明事务的通知(advice),指定哪些方法需要进行事务处理。 - **Java配置**:使用`@EnableTransactionManagement`注解...

Global site tag (gtag.js) - Google Analytics