加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。
这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择。
配置非常简单,在web.xml中增加: <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> 或: <servlet> <servlet-name>context</servlet-name> <servlet-class> org.springframework.web.context.ContextLoaderServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> |
|
通过以上配置,Web容器会自动加载/WEB-INF/applicationContext.xml初始化
ApplicationContext实例,如果需要指定配置文件位置,可通过context-param加以指定:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/myApplicationContext.xml</param-value>
</context-param>
配置完成之后,即可通过
WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。
如:ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext();
LoginAction action=(LoginAction)ctx.getBean("action");
-------------------------------------------------------------------------------------------
spring为ApplicationContext提供有三种实现(举例)
spring为ApplicationContext提供的3种实现分别为:ClassPathXmlApplicationContext,FileSystemXmlApplicationContext和XmlWebApplicationContext,其中XmlWebApplicationContext是专为Web工程定制的。使用举例如下:
1. FileSystemXmlApplicationContext
eg1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加载单个配置文件
eg2.
String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
ApplicationContext ctx = new FileSystemXmlApplicationContext(locations ); //加载多
个配置文件
eg3.
ApplicationContext ctx =new FileSystemXmlApplicationContext("D:/project/bean.xml");//根据具体路径加载文件
2. ClassPathXmlApplicationContext
eg1. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
eg2.
String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
ApplicationContext ctx = new ClassPathXmlApplication(locations);
注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext与BeanFactory的xml文件定位方式一样是基于路径的。
相关推荐
### Spring 加载多个配置文件详解 #### 一、引言 在现代软件开发中,Spring 框架因其强大的依赖注入(DI)和面向切面编程(AOP)能力而备受青睐。尤其在构建大型应用时,为了提高代码的可读性和可维护性,将系统...
在Spring框架中,加载多个配置文件是常见的需求,特别是在大型项目中,为了保持代码的整洁和模块化,通常会将不同的配置分散到多个文件中。本文将深入探讨如何在Spring中实现这一功能。 首先,Spring提供了多种方式...
### Spring框架中加载多个配置文件的方法 在Spring框架中,加载多个配置文件是常见的需求之一。这不仅可以帮助我们更好地组织代码结构,还可以提高程序的可维护性和可扩展性。本文将详细介绍Spring框架中如何加载多...
Spring 框架中的配置文件加载是非常重要的,特别是在大型项目中,需要加载多个配置文件以实现模块化和灵活性。那么,Spring 是如何加载配置多个配置文件的呢?下面我们将通过实例代码详细介绍 Spring 如何加载配置多...
在Spring框架中,动态加载配置文件是一项重要的...总的来说,Spring动态加载配置文件涉及到IoC容器、属性源、配置加载策略和刷新机制等多个方面。理解和掌握这些知识点,可以帮助我们构建更加灵活和适应性强的应用。
当项目变得复杂,包含多个模块时,这种单一配置文件的方式可能会导致混乱。因此,我们需要为每个模块创建独立的配置文件,以便更好地组织和管理。 1. **创建模块化的配置文件** - 每个模块都应该有自己的`src/main...
这意味着如果你有多个相同命名的配置文件分别存在于不同的jar包中,`classpath*:`会找到所有这些文件。 4. **Spring的资源配置**:Spring允许开发者通过XML、Java配置或注解方式定义配置。在jar包中加载配置文件,...
SSM框架的整合通常涉及到多个配置文件的组织和管理,其中一部分配置可能会被打包到独立的jar文件中。本篇文章将详细介绍如何在Spring MVC项目中有效地加载这些jar包内的配置文件。 首先,我们需要了解Spring框架是...
本文将详细探讨Spring加载顺序,并结合`@PostConstruct`、`构造方法`以及`@Autowired`等关键注解进行深入解析。 首先,Spring容器在启动时会读取配置文件(如XML或Java配置类),根据配置信息创建Bean的定义。Bean...
Spring加载配置和读取多个Properties文件的讲解 Spring是一款功能强大且广泛应用的Java框架,它提供了很多实用的功能和工具来帮助开发者快速构建强大且灵活的应用程序。其中一个非常重要的功能就是 Properties ...
Spring Boot 2.4 中的配置文件加载机制发生了重大变化,这些变化将影响到应用程序的配置文件加载方式。下面是相关知识点的详细介绍: 一、为什么要进行这些更改 随着最新版本 Spring Boot 的发布,Spring 一直在...
// 可以添加其他自定义逻辑,例如加载多个配置文件 @Override protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException { super....
除了默认的`/WEB-INF/applicationContext.xml`,你还可以通过`contextConfigLocation`指定多个配置文件,用逗号分隔它们,例如`<param-value>classpath:app-config.xml,classpath:db-config.xml</param-value>`,这...
1. **配置文件解析**:Spring的启动通常始于一个或多个配置文件,如XML或Java配置类。这些配置文件定义了bean的定义,包括bean的类型、属性、依赖关系等。Spring通过BeanDefinitionReader读取这些配置,将其转化为...
在配置完成后,我们需要在应用程序中加载这个配置。如果是传统的Spring应用,可以通过ApplicationContext接口来创建一个容器并加载配置。如果是Spring Boot应用,通常会有一个主启动类,其中包含@SpringBoot...
1. **配置多数据源**:Spring Boot提供了DataSourceAutoConfiguration,它允许我们配置多个数据源。每个数据源可以有自己的配置,如JDBC连接池、数据库驱动、URL、用户名和密码等。我们可以使用@...
5. 对于大型项目,可以考虑将配置文件拆分成多个小的配置文件,比如按模块来分文件,这样可以更好地管理每一个模块的配置。 6. 利用Spring的抽象配置类来减少重复的配置,抽象配置类可以定义一些共用的配置,然后在...
这些实现都可以根据实际情况进行选择,并且可以根据需要加载单个或多个配置文件。使用这些实现可以轻松地加载和管理应用程序中的 Bean 对象。 Spring 中的 ApplicationContext 加载机制提供了多种选择和灵活的配置...
`CompositePropertySourceFactory`示例展示了如何定义一个工厂,它可能接收多个配置源并进行组合。 在使用`@PropertySource`时,`ignoreResourceNotFound`参数可以控制当配置文件找不到时的行为。如果设置为`true`...
这种方式非常适合于项目中存在多个配置文件的情况,能够简化配置的同时提高项目的灵活性。 #### 2. **`applicationContext.xml`中的资源导入** - 在`applicationContext.xml`中,可以使用`<import>`标签来导入其他...