在项目中会涉及到多个spring的配置文件,在我所接触的项目中,只用到了两种不同的方法进行配置,有其他好办法的,欢迎讨论。
方法一:
在web.xml文件中作如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
用ContextLoaderListener跟contextConfigLocation配合使用,contextConfigLocation用来指定系统配置文件的名称跟路径,ContextLoaderListener为监听器,这个就不多说了。
这个方式的优点是比较优雅,通俗易懂,不用修改什么代码。
方法二:
把几个配置文件写到一个配置文件中:
如创建这样一个配置文件:BeanRefFactory.xml
在这个配置文件里配置如下:
<beans>
<bean id="default" class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list>
<value>applicationContext.xml</value>
<value>applicationContext-business.xml</value>
<value>applicationContext-scheduler.xml</value>
</list>
</constructor-arg>
</bean>
</beans>
然后在web.xml文件中,使用自己定义一个ContextLoaderServlet来启动,这个ContextLoaderServlet可以继承HttpServlet,然后在它的init()方法里取得BeanFactory,代码如下:
public class ContextLoaderServlet extends HttpServlet
{
public ContextLoaderServlet()
{
}
public void init()
throws ServletException
{
//这个参数里的名字就是我们在BeanRefFactory.xml里定义的bean的名字。
DefaultBeanFactory.getFactory("default");
}
public void destroy()
{
}
}
然后定义一个DefaultBeanFactory类:
public class DefaultBeanFactory
{
protected static final BeanFactory getFactory(String s)
{
BeanFactoryLocator beanfactorylocator = SingletonBeanFactoryLocator.getInstance();
BeanFactoryReference beanfactoryreference = beanfactorylocator.useBeanFactory(s);
return beanfactoryreference.getFactory();
}
}
最后在web.xml文件中配置如下:
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>com.lixh.web.servlet.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
这种方式改动较多,也比较麻烦,但是可以根据自己的需要随机加载信息。
我还看到过一种方式,就是配置
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servelt>
后来查看资料发现这是spring MVC的用法,本人没用过spring MVC,在这里贴出来是不想把这些方式混淆,有个说明罢了。
分享到:
相关推荐
它可以通过以下两种常见实现类来加载多个配置文件: - `ClassPathXmlApplicationContext`:从类路径(CLASSPATH)中加载配置文件。 - `FileSystemXmlApplicationContext`:从文件系统的当前路径加载配置文件。 ...
这篇教程将详细讲解如何通过Spring的配置文件来实现AOP。 一、理解AOP概念 AOP的核心思想是将分散在各个模块中的交叉性代码(如日志、事务处理)抽取出来,形成独立的切面,以便于复用和维护。它提供了一种模块化的...
在Spring框架中,AOP(面向切面编程)是一种强大的工具,它允许程序员定义横切关注点,如日志、事务管理、权限...在Spring 2.5及以上版本中,这两种方式都可以无缝结合到Spring的应用上下文中,为开发带来极大的便利。
以上就是Spring Boot读取配置文件的常用方式,这些机制使得Spring Boot能够灵活处理各种配置场景,简化了开发过程,提高了应用的可维护性和扩展性。通过熟练掌握这些方法,开发者可以更好地管理和利用配置文件,为...
本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`这两种不同的上下文环境来加载它们。 首先,让我们了解`...
首先,Spring框架的核心在于它的容器,主要有两种:BeanFactory和ApplicationContext。BeanFactory是Spring的基础容器,负责管理对象(称为beans),而ApplicationContext不仅包含了BeanFactory的功能,还提供了更多...
本篇文章将详细讲解两种在Spring MVC框架中实现定时任务的方法:Spring MVC自带的定时器以及Quartz与Spring的集成。 首先,我们来看看Spring MVC自带的定时任务。Spring MVC作为Spring框架的一个模块,主要处理HTTP...
对于配置文件,Spring支持两种主要类型的配置:XML配置和Java配置。XML配置文件通常以`applicationContext.xml`为名,其中定义了bean的实例化、依赖关系和生命周期。例如,你可以看到如下配置: ```xml ``` ...
Spring 3.0 提供了两种事务管理配置方法:基于 XML 的事务管理和基于 @Transactional 的事务管理,这两种方法都是为了实现事务管理的目标,分别具有不同的配置方式和优缺点。 基于 XML 的事务管理 这种方法不需要...
### Spring 获取 WebLogic JNDI 数据源的两种方式 在Spring框架中,通过JNDI(Java Naming and Directory Interface)可以方便地访问WebLogic服务器中的数据源。这为应用程序提供了高度解耦的数据访问机制,使得...
Spring MVC 提供了多种 HandlerMapping 的实现方式,其中两种常见的实现是 BeanNameUrlHandlerMapping 和 SimpleUrlHandlerMapping。 ##### BeanNameUrlHandlerMapping BeanNameUrlHandlerMapping 是 Spring 默认...
在Spring框架中,XML配置文件是核心组成部分,它定义了bean的实例化、依赖注入以及其他的框架设置。本文将深入探讨如何模拟Spring的XML配置文件注入,并通过SAXBuilder解析XML文件来实现这一过程。 首先,理解XML...
Spring定时器基于Java的`java.util.Timer`和`java.util.TimerTask`,但更进一步,它支持Quartz和SimpleScheduler这两种强大的定时任务库。Quartz是一个开源的作业调度框架,而SimpleScheduler则内置在Spring中,适用...
除了这两种方式,Spring Boot引入了更强大的`ConfigDataLocationResolver`和`ConfigDataLoader`接口,它们允许我们自定义配置数据的加载逻辑,支持更丰富的数据源,如Git、HTTP等。 在实际应用中,我们可能还需要...
依赖注入有两种方式:setter注入和构造器注入。Spring通过反射机制调用setter方法或构造器来设置bean的属性。 对于setter注入,Spring会检查BeanDefinition中属性值的`ref`属性,如果存在,表示该属性是一个引用,...
读取XML配置文件是通过`ApplicationContext`接口实现的,主要有两种方式:`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`。前者从类路径下加载配置文件,后者则从文件系统中加载。例如,创建...
Spring框架提供了强大的事务管理功能,支持编程式和声明式两种事务处理方式。其中,声明式事务因其简单易用而被广泛采用。本文将详细介绍Spring中事务配置的五种方式,帮助开发者更好地理解和运用这些配置方法。 ##...
"spring和Mybatis的xml配置文件提示约束包"这个主题,主要是关于在XML配置文件中使用的DTD(Document Type Definition)文档类型定义,它为XML文件提供了结构约束和语法规范。 DTD是一种元语言,用于定义XML文档的...
这允许我们在不重启应用的情况下,通过修改外部的配置文件来调整日志级别和输出方式。 总的来说,理解和配置好Spring中的Log4j对于开发和维护Spring应用至关重要。通过合理配置`log4j.properties`文件,开发者可以...
注解配置是Spring框架的一种简化配置手段,它允许开发者通过在类或方法上添加特定的注解,替代传统的XML配置文件,使得代码更加简洁且易于维护。 首先,我们需要理解Spring配置文件的作用。在早期的Spring版本中,...