`
234390216
  • 浏览: 10238795 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:462902
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1775986
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1398756
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:395158
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:680175
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:531149
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1185029
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:468826
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151494
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:68344
社区版块
存档分类
最新评论

在WEB环境下获取spring的applicationContext

阅读更多

以前在web环境下想直接读取spring的applicationContext,发现放在WEB-INF下的applicationContext.xml不能直接通过相对路径读取到,也就是说不能通过第一种方式读取到,第一种方式只用于进行单元测试的,而且一定要是在web项目部署后的绝对路径才行。

 

1.在没有WEB元素的情况下,直接在类里面通过路径获取

 

ApplicationContext context = new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/applicationContext.xml");

 

 

2.通过WebApplicationContextUtils获取

ServletContext sc = null;
		ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(sc);
		context = WebApplicationContextUtils.getWebApplicationContext(sc, WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

 这种方式需要我们能够获取到ServletContext对象,在Web应用中,当我们监听了Web程序启动的时候,Spring会把初始化的WebApplicationContext对象绑定到当前的ServletContext中,其对应的属性名称是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,在WebApplicationContextUtils中也是通过ServletContext来获取对应的WebApplicationContext对象的,所以我们也可以直接从ServletContext中获取WebApplicationContext对象,如:

context = (ApplicationContext)sc.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

 

 

3.下面代码中的event是applicationListener中方法的一个参数

String path = event.getServletContext().getRealPath("/WEB-INF");
		ApplicationContext context = new FileSystemXmlApplicationContext(path
				+ "/applicationContext.xml");
0
0
分享到:
评论

相关推荐

    Spring获取ApplicationContext对象工具类的实现方法

    在实际开发过程中,经常需要从各个角落获取到这个ApplicationContext对象,以便于能够使用Spring提供的各种服务。本文将详细介绍Spring中获取ApplicationContext对象的工具类实现方法。 在Spring中,典型的获取...

    Spring中ApplicationContext加载机制

    配置完成之后,即可通过 WebApplicationContextUtils.getWebApplicationContext 方法在 Web 应用中获取 ApplicationContext 引用。例如: ```java ApplicationContext ctx = WebApplicationContextUtils.get...

    Web项目中获取SpringBean与在非Spring组件中获取SpringBean.pdf

    然而,有时我们需要在非Spring管理的组件或者非Spring环境下获取Spring管理的Bean。这时,我们就需要一种方式来访问Spring的ApplicationContext,它是Spring容器的核心,负责管理所有Bean。 一种常见的做法是创建一...

    spring 获得applicationcontext公用方法

    - 在Web应用中,推荐使用Servlet监听器来初始化`ApplicationContext`,以便在应用启动时加载,同时避免在多线程环境下可能出现的问题。 - 避免在不必要的情况下传播`ApplicationContext`,因为这可能导致不必要的...

    获取spring容器的方法

    在Web环境中,Spring提供了更便捷的方式来获取`ApplicationContext`,即通过`ServletContext`。这尤其适用于Spring MVC或Spring Boot这样的Web应用。可以通过以下方式获取: ```java import org.springframework....

    Spring获取webapplicationcontext,applicationcontext几种方法详解

    在 Spring 框架中,获取 WebApplicationContext 和 ApplicationContext 对象是非常重要的,因为它们提供了访问 Spring 容器中的 Bean 对象的入口。下面将详细介绍五种获取 WebApplicationContext 和 ...

    线程中获取spring 注解bean

    当需要在线程中获取Spring注解的bean时,有几种常见的方法: 1. **ThreadLocal**:Spring提供了一种名为`ThreadLocalTargetSource`的特殊`TargetSource`实现,可以将bean实例绑定到当前线程。这样,每个线程都有其...

    Spring与Web环境集成1

    Spring与Web环境集成是将Spring框架整合到Web应用程序中的过程,以便在Web环境中利用Spring的强大功能,如依赖注入和AOP。在这个过程中,主要涉及的关键点是ApplicationContext应用上下文的获取和管理。 1. **...

    在Servlet直接获取Spring框架中的Bean.docx

    以下是如何在Servlet中直接获取Spring框架中的Bean的方法。 首先,我们理解Spring容器,即ApplicationContext,它是管理Bean的核心组件。它负责读取配置文件(如XML或Java配置),创建并初始化Bean,以及维护它们...

    Spring与Web环境集成.pdf

    在Web应用程序中,Spring框架可以与Web环境集成,以提供更加强大和灵活的应用程序开发能力。下面我们将详细介绍Spring与Web环境集成的相关知识点。 1. ApplicationContext应用上下文获取方式 在Spring框架中,...

    Spring环境搭建

    2. **获取Spring框架**:你可以从Spring的官方网站下载Spring Framework的最新版本。通常,会包含一个压缩包,里面包含了所有需要的库文件。 3. **创建项目结构**:创建一个新的Java项目,按照Maven或Gradle的标准...

    Java中Spring获取bean方法小结

    - **通过`@Configuration`和`@ComponentScan`**:Spring 3.0引入了基于Java的配置,允许在Java类中定义Bean并扫描特定包下的组件。 - **使用`Prototype`作用域的Bean**:如果一个Bean是Prototype作用域,每次请求...

    Spring在web下启动流程学习笔记

    总结来说,Spring在Web环境下的启动流程涉及了从注册监听器到初始化ApplicationContext,再到配置和启动上下文的一系列步骤。这个过程中,Spring展现了其强大的灵活性和可扩展性,使得开发者能够自定义配置,同时...

    Spring通过ApplicationContext主动获取bean的方法讲解

    这个问题在实际开发中非常常见,特别是在异步线程或某些特殊情况下无法使用AutoWired和Component注解时,就需要使用ApplicationContext来获取bean。 首先,我们需要了解什么是ApplicationContext。...

    SpringMVC+Spring+Mybatis集成开发环境

    在IT行业中,SpringMVC、Spring和Mybatis是三大核心框架,它们的集成使用是Java Web开发中的常见实践。这个集成开发环境旨在提供一个高效、灵活的开发平台,以实现业务逻辑与数据访问的分离,提高代码的可维护性和可...

    在Eclipse 中创建Spring的 Web应用.doc

    在Eclipse中创建一个基于Spring的Web应用涉及多个步骤,主要涵盖了Spring框架的Web模块、ApplicationContext的使用以及在Web容器中的配置。以下是详细的过程和相关知识点: 1. **Spring Web模块**: Spring框架...

    Spring如何获取Bean

    在 Spring 框架中,我们可以通过 XML 配置文件来配置 Bean,然后使用 ApplicationContext 来获取这些 Bean。这种方式是最常用的方式之一。我们可以在 XML 配置文件中定义 Bean,然后使用 ...

    如何在spring中等价配置得到原本由jndi配置实现的数据源

    然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...

    spring+ibatis+web

    在IT行业中,Spring、iBATIS和Struts1是经典的Java Web开发框架,它们的集成应用为开发者提供了灵活且强大的后端服务构建能力。本文将深入探讨这些技术的结合使用,以及它们如何协同工作来创建高效的应用程序。 ...

    几种spring获取bean的方法.txt

    在Web环境下,Spring提供了`WebApplicationContext`接口,它是`ApplicationContext`的子接口,专门用于Web应用。可以通过`WebApplicationContextUtils`工具类中的静态方法`getWebApplicationContext()`来获取当前Web...

Global site tag (gtag.js) - Google Analytics