`
zcw_java
  • 浏览: 304004 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring工具WebApplicationContextUtils

 
阅读更多


当 Web 应用集成 Spring 容器后,代表 Spring 容器的WebApplicationContext对象将以

WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE 为键存放在ServletContext的属性列表中。您当然可以直接通过以下语句获取 WebApplicationContext:

WebApplicationContext wac = (WebApplicationContext)servletContext.

getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);


但通过位于 org.springframework.web.context.support 包中的WebApplicationContextUtils 工具类获取 WebApplicationContext 更方便:

WebApplicationContext wac =WebApplicationContextUtils.

getWebApplicationContext(servletContext);

当 ServletContext 属性列表中不存在 WebApplicationContext 时,getWebApplicationContext() 方法不会抛出异常,它简单地返回 null。如果后续代码直接访问返回的结果将引发一个 NullPointerException 异常,而 WebApplicationContextUtils 另一个 getRequiredWebApplicationContext(ServletContext sc) 方法要求 ServletContext 属性列表中一定要包含一个有效的 WebApplicationContext 对象,否则马上抛出一个 IllegalStateException 异常。我们推荐使用后者,因为它能提前发现错误的时间,强制开发者搭建好必备的基础设施。

实例:
public class demoServlet extends HttpServlet {
 IDemoWS demoWS;
 public void init() throws ServletException {          
        super.init();
        ServletContext servletContext = this.getServletContext();  
        WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);
        demoWS = (ISignpicWS)ctx.getBean("demoWS");
    }   
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
  .....//request.getSession().getServletContext()
 }
}
分享到:
评论

相关推荐

    Spring文件资源操作和Web相关工具类盘点

    9. **WebApplicationContextUtils**: 用于从 ServletContext 中获取 Spring 的 WebApplicationContext,便于在非 Spring 控制的类中使用 Spring 服务。 10. **ConversionService**: 提供了对象转换功能,用于将请求...

    Spring笔记.doc

    监听器如 ContextLoaderListener 在项目启动时加载 Spring 配置文件并保存到 application 对象中,WebApplicationContextUtils 可以从 application 对象中获取 Spring 上下文。 【Spring 与 Hibernate 整合】 ...

    spring-framework-2.0 Java源代码,spring2源代码

    8. **Spring Test**:Spring 2.0提供了集成测试支持,包括`MockMVC`和`WebApplicationContextUtils`等工具,帮助开发者编写单元测试和集成测试,确保代码质量。 9. **portlet支持**:Spring 2.0开始支持portlet开发...

    spring 3.1.0 jar包

    Spring框架是Java开发中不可或缺的一部分,它以其模块化...通过更强大的注解配置、AOP增强、数据访问优化以及Web和测试框架的改进,Spring 3.1.0为Java开发者提供了更强大、更灵活的工具,促进了高效的企业级应用开发。

    spring3.07

    Spring 提供了丰富的测试工具,如 `org.springframework.test.context.ContextConfiguration` 和 `@Autowired` 注解,使单元测试和集成测试变得简单。`WebApplicationContextUtils` 和 `MockMvc` 类可以帮助我们模拟...

    Spring与Web环境集成.pdf

    同时,Spring还提供了一个客户端工具WebApplicationContextUtils供使用者获得应用上下文对象。 因此,我们只需要在web.xml中配置ContextLoaderListener监听器,并使用WebApplicationContextUtils获得应用上下文对象...

    JSF和Spring集成.doc

    文档中给出了一个名为 `SpringFacesUtil` 的工具类,用于实现 JSF 和 Spring 的集成。下面是对该工具类中的关键方法进行详细解析: - **findBean 方法**:该方法首先通过 `FacesContext` 获取当前的 `...

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

    这种方法允许我们在不直接依赖于Spring工具类的情况下,通过ServletContext访问Bean,但这可能会导致代码对Spring的依赖更加隐蔽。 需要注意的是,这两种方法都依赖于Spring容器已经初始化,并且Bean已经被加载到...

    Spring 测试jar

    4. `WebApplicationContextUtils`:帮助在Web应用程序的测试中获取WebApplicationContext。 5. `TestExecutionListener`:提供自定义测试监听器,可以在测试前、后执行特定操作。 6. `@Autowired`和`@MockBean`:...

    spring MVC实战

    此外,对于开发工具,无论是MyEclipse 6.0还是Eclipse,都需要配置好相应的服务器环境,比如设置Tomcat为项目的运行时环境。 接下来,文章会详细介绍如何准备Spring3的jar包。Spring3项目配置包括了添加Spring核心...

    struts 整合spring 例子,测试通过

    应用程序中的组件可以通过`WebApplicationContextUtils`工具类获取到`ApplicationContext`实例: ```java WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); ```...

    flex整合Spring

    Flex作为一款强大的富客户端开发工具,而Spring则是Java领域内最流行的后端开发框架之一。本文将详细介绍如何通过Flex与Spring进行整合,从而实现前端Flex应用与后端基于Spring的三层架构服务之间的高效通信。 ####...

    Spring与Web环境集成1

    这样,我们可以通过`WebApplicationContextUtils`工具类的静态方法`getWebApplicationContext(ServletContext)`在Web应用的任何地方获取ApplicationContext对象,无需每次都手动创建。 3. **导入Spring集成Web的...

    第一章 Spring MVC 你好spring mvc

    Spring MVC 是 Spring 框架中用于构建 Web 应用的强大工具,它的核心组件包括 DispatcherServlet、HandlerMapping、Controller 等。通过注解驱动开发,开发者可以快速创建可维护、可测试的 Web 应用。同时,Spring ...

    flex-spring.pdf

    import org.springframework.web.context.support.WebApplicationContextUtils; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; ...

    Struts Spring Hibernate 整合引用2008

    对于如何在Struts中使用Spring注入的Bean,可以通过覆盖`Action`类的`setServlet`方法,利用`WebApplicationContextUtils`从Servlet上下文中获取Spring的应用上下文,然后从中获取并注入所需的Bean。例如: ```java...

    JSP 获取Spring 注入对象示例

    本篇将详细讲解如何在JSP中通过Spring的WebApplicationContextUtils工具类获取Spring注入的对象。 首先,我们要明确Spring的依赖注入机制。在Spring框架中,我们可以在XML配置文件或基于注解的方式下定义bean及其...

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

    方法二:通过 Spring 提供的工具类获取 ApplicationContext 对象 在 B/S 系统中,通过 ServletContext 对象可以获取 WebApplicationContext 对象,然后通过它获取需要的类实例: `import org.springframework.web....

    Spring2.x集成Quartz调度框架

    **Spring2.x集成Quartz调度框架** 在Java应用开发中,常常需要进行任务调度,例如定时执行某些业务逻辑。Quartz是一款强大的、开源的作业调度框架,它支持复杂的调度策略和集群环境。Spring框架则提供了良好的企业...

Global site tag (gtag.js) - Google Analytics