`

spring加载多个配置文件

阅读更多

加载器目前有两种选择: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文件定位方式一样是基于路径的。
3. XmlWebApplicationContext
       eg1. ServletContext servletContext = request.getSession().getServletContext();   
            ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
注 : 一般是 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());

分享到:
评论

相关推荐

    Spring 加载多个配置文件

    ### Spring 加载多个配置文件详解 #### 一、引言 在现代软件开发中,Spring 框架因其强大的依赖注入(DI)和面向切面编程(AOP)能力而备受青睐。尤其在构建大型应用时,为了提高代码的可读性和可维护性,将系统...

    Spring中如何加载多个配置文件.pdf

    ### Spring框架中加载多个配置文件的方法 在Spring框架中,加载多个配置文件是常见的需求之一。这不仅可以帮助我们更好地组织代码结构,还可以提高程序的可维护性和可扩展性。本文将详细介绍Spring框架中如何加载多...

    Spring Boot多模块配置文件读取

    当项目变得复杂,包含多个模块时,这种单一配置文件的方式可能会导致混乱。因此,我们需要为每个模块创建独立的配置文件,以便更好地组织和管理。 1. **创建模块化的配置文件** - 每个模块都应该有自己的`src/main...

    spring如何加载配置多个配置文件

    Spring 框架中的配置文件加载是非常重要的,特别是在大型项目中,需要加载多个配置文件以实现模块化和灵活性。那么,Spring 是如何加载配置多个配置文件的呢?下面我们将通过实例代码详细介绍 Spring 如何加载配置多...

    Spring动态加载配置文件

    在Spring框架中,动态加载配置文件是一项重要的...总的来说,Spring动态加载配置文件涉及到IoC容器、属性源、配置加载策略和刷新机制等多个方面。理解和掌握这些知识点,可以帮助我们构建更加灵活和适应性强的应用。

    如何加载jar包中的spring配置文件

    SSM框架的整合通常涉及到多个配置文件的组织和管理,其中一部分配置可能会被打包到独立的jar文件中。本篇文章将详细介绍如何在Spring MVC项目中有效地加载这些jar包内的配置文件。 首先,我们需要了解Spring框架是...

    加载jar包中的spring配置文件

    当我们构建一个基于Spring的应用时,经常需要从jar包中加载配置文件,以便管理依赖注入和其它服务。在Spring中,我们通常使用`classpath:`或`classpath*:`前缀来指定资源的位置。这两个前缀在处理多个类路径位置时有...

    浅谈SpringBoot2.4 配置文件加载机制大变化

    Spring Boot 2.4 中的配置文件加载机制发生了重大变化,这些变化将影响到应用程序的配置文件加载方式。下面是相关知识点的详细介绍: 一、为什么要进行这些更改 随着最新版本 Spring Boot 的发布,Spring 一直在...

    spring读取配置文件

    `profile`允许你在同一个配置文件中定义不同环境(如开发、测试、生产)的bean,然后在启动时选择激活哪个profile。而`placeholder`允许你使用`${property_name}`占位符,这些值可以从属性文件(如`application....

    Spring加载加密的配置文件详解

    // 可以添加其他自定义逻辑,例如加载多个配置文件 @Override protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException { super....

    spring 配置文件详解

    Spring 配置文件是一个或多个标准的 XML 文档,applicationContext.xml 是 Spring 的默认配置文件,当容器启动时找不到指定的配置文档时,将会尝试加载这个默认的配置文件。 在 Spring 配置文件中,主要包含了以下...

    spring 所有包和配置文件

    Spring框架包含多个模块,这些模块分别对应不同的包。例如: 1. **Core Container**(核心容器):包括Core、Beans、Context和Expression Language模块。Core提供IoC和DI(Dependency Injection)功能,Beans模块...

    Spring 整合多个配置文件的方法

    Spring 整合多个配置文件的方法 在大型应用中,存在多个配置文件的情况很常见。 Spring 框架提供了多种方式来整合这些配置文件,使得应用程序更加灵活和可维护。本文将为大家介绍 Spring 整合多个配置文件的方法。 ...

    大型项目的struts,spring配置文件

    这个配置文件用于告诉Struts如何使用Spring管理Action,通常通过`&lt;struts:action&gt;`标签指定Action的类,然后通过Spring的id引用该类。 在大型项目中,为了提高可维护性和可扩展性,配置文件通常会被分解成多个部分...

    spring配置文件模板

    在实际项目中,我们往往将配置文件划分为多个部分,比如数据库连接池配置、数据访问对象配置、业务服务配置等,这样既有利于代码组织,也便于后期维护。 总结来说,`applicationContext.xml`是Spring应用的配置中心...

    Spring4 jar包和Spring配置文件

    Spring框架是Java开发中最常用的轻量级框架之一,它的核心在于IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...深入学习Spring4的jar包和配置文件,将使你更好地驾驭Java开发环境,提高软件工程能力。

    Spring Boot加载配置文件的完整步骤

    5. 加载配置文件时,Spring Boot会从多个来源中加载配置文件,然后将其合并成一个完整的配置对象。 配置文件的优先级 Spring Boot加载配置文件时,会根据来源的优先级顺序来确定配置文件的优先级。命令行参数的...

    spring加载顺序讨论

    本文将详细探讨Spring加载顺序,并结合`@PostConstruct`、`构造方法`以及`@Autowired`等关键注解进行深入解析。 首先,Spring容器在启动时会读取配置文件(如XML或Java配置类),根据配置信息创建Bean的定义。Bean...

Global site tag (gtag.js) - Google Analytics