一: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");
- 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);
-
- 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" />
分享到:
相关推荐
除了直接通过 ApplicationContext 或者 ContextLoaderListener 加载配置文件,还可以在现有的 XML 配置文件中使用 `<import>` 标签导入其他的配置文件。这种方式允许开发者在主配置文件中引用其他辅助配置文件,...
本文将深入探讨在SSM框架下加载properties配置文件的几种常见方法。 1. **使用Spring的PropertyPlaceholderConfigurer** Spring提供了`PropertyPlaceholderConfigurer`类,可以方便地从.properties文件中读取属性...
为了集成TE网络到Spring应用中,我们需要在应用程序启动时挂载这个加密文件系统,并确保Spring加载配置文件时通过这个加密层。这通常涉及到自定义类加载器或者修改Spring的初始化逻辑。当Spring尝试读取配置文件时,...
Spring加载XML配置文件的过程分为几个步骤: 1. **定位配置文件**:根据提供的路径找到XML配置文件。 2. **解析XML文件**:使用DOM或SAX解析器将XML内容转换为内存中的对象结构。 3. **构建BeanDefinition**:从解析...
如果XML配置文件位于`src/main/resources/META-INF/spring.factories`文件中,Spring Boot会自动加载它们。创建一个名为`org.springframework.boot.autoconfigure.EnableAutoConfiguration`的键,并将你的XML配置...
本压缩包包含了Struts2的核心库jar文件以及相关的XML配置文件,这些都是开发Struts2应用的基础组件。 **1. Struts2核心jar包** Struts2的核心jar包是实现框架功能的关键,主要包括以下几个部分: - **struts2-core...
本篇文章将详细探讨Java中加载配置文件的几种常见方式。 1. **使用Properties类** Java标准库中的`java.util.Properties`类是处理.properties文件的主要工具。我们可以使用`Properties.load()`方法从InputStream中...
3. 使用Spring的IoC容器加载XML配置文件,根据bean定义创建和管理对象。 这个过程使得我们可以将类的创建和配置与实际业务逻辑分离,提高了代码的可维护性和可测试性,这也是Spring框架的核心优势之一。
4. **排除其他日志配置文件**:如果存在多个日志配置文件(如`logback.xml`),Spring Boot可能会优先加载它们。删除或注释掉其他非`logback-spring.xml`的日志配置文件。 5. **验证配置文件内容**:确保`logback-...
这是最常用的方式,通过在Spring的配置文件(如`spring.xml`)中引入`context`命名空间,并使用`context:property-placeholder`标签来指定Properties文件的位置。 ```xml <?xml version="1.0" encoding="UTF-8"?> ...
2. **使用DelegatingRequestProcessor替换RequestProcessor**:在`struts-config.xml`中,将Struts的RequestProcessor替换为Spring的`DelegatingRequestProcessor`,并在Spring配置文件中定义与Struts `...
同时,`Spring`的配置文件(如`applicationContext.xml`)中会包含`Hibernate`的相关bean定义,如SessionFactory、DataSource、TransactionManager等,实现对`Hibernate`的管理。 接着,`HQL`是`Hibernate`提供的...
`ClassPathXmlApplicationContext`是Spring提供的一个实现`ApplicationContext`接口的类,它负责加载指定路径下的XML配置文件,解析文件中的Bean定义,并实例化Bean。在这个例子中,我们通过调用`getBean`方法获取了...
这允许我们在不重启应用的情况下,通过修改外部的配置文件来调整日志级别和输出方式。 总的来说,理解和配置好Spring中的Log4j对于开发和维护Spring应用至关重要。通过合理配置`log4j.properties`文件,开发者可以...
这样的配置允许在不修改代码的情况下,通过修改XML配置文件就能改变数据库连接参数,增加了程序的灵活性和可维护性。 XML文件在数据库连接中的角色主要是配置和管理数据源,包括但不限于以下几点: 1. 存储数据库...
标题提到的“ClassPathXmlApplicationContext”是 Spring 提供的三种 ApplicationContext 实现之一,主要用来加载类路径下的 XML 配置文件。 ApplicationContext 的主要功能包括: 1. **Bean的管理**:...
- ClassPathXmlApplicationContext:用于从类路径下的XML配置文件中加载Spring容器。 - FileSystemXmlApplicationContext:从文件系统的XML配置文件加载容器。 - BeanUtils:提供了一组工具方法,如...
在实验小例子中,我们可能看到这几种配置方式的组合。Spring会首先读取这些配置源,将其转换为Bean定义。 2. **Bean定义注册**: 解析后的配置会被转化为BeanDefinition对象,包含Bean的类名、依赖、初始化方法等...
在XML配置中,你需要在Spring配置文件中定义目标对象、切面类以及具体的切点和通知。 首先,创建目标对象。在例子中,`BraveKnight` 类代表核心业务逻辑,它有一个`saying()` 方法。然后创建切面类 `Minstrel`,...
- **XML配置**:在Spring的配置文件中定义事务管理器(如`PlatformTransactionManager`),并声明事务的通知(advice),指定哪些方法需要进行事务处理。 - **Java配置**:使用`@EnableTransactionManagement`注解...