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

Spring工具类:WebApplicationContextUtils

    博客分类:
  • java
 
阅读更多

当 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相关工具类盘点

    获取文件的输入流以便读取内容。...Spring 的设计哲学就是简化开发,提高生产力,这些工具类正是这一理念的具体体现。在实际开发中,了解并熟练使用这些工具,可以显著提升开发效率,写出更加健壮、易于维护的代码。

    JSF和Spring集成.doc

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

    Spring+Hibernate+Strust 整合开发步骤

    **配置Struts和Spring**:在Struts的Action中,通过Spring的`WebApplicationContextUtils`获取Spring容器中的Bean,将业务逻辑委托给Spring管理的对象。 h. **编写Action和视图**:实现业务逻辑的Action类,以及...

    Spring笔记.doc

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

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

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

    flex-spring.pdf

    - **编写Spring Factory**:为了能够从Flex端访问Spring中的服务,需要编写一个Spring Factory类。下面是一个示例代码: ```java package com.samples.factories; import org.springframework.context....

    spring3.07

    `WebApplicationContextUtils` 和 `MockMvc` 类可以帮助我们模拟 HTTP 请求和验证响应。 总结,Spring 3.07 通过其核心概念如 DI、AOP、IoC 容器、数据访问支持、MVC 框架和测试工具,为开发者提供了强大的后盾。...

    spring 3.1.0 jar包

    例如,JdbcTemplate和SimpleJdbcInsert等工具类的改进提高了操作数据库的便捷性。对于ORM,Spring Data JPA项目引入了Repository抽象,使得与数据库的交互更加简洁,开发者可以快速实现CRUD操作。对于NoSQL数据库,...

    struts+spring+hibernate配置

    6. **整合Struts和Spring**:在Struts的Action中,使用Spring的`@Autowired`注解注入Service层组件,或者通过`WebApplicationContextUtils`获取Spring应用上下文。 7. **整合Spring和Hibernate**:在Spring配置文件...

    Spring与Web环境集成1

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

    struts 整合spring 例子,测试通过

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

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

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

    flex整合Spring

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

    Spring与Web环境集成.pdf

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

    JSP 获取Spring 注入对象示例

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

    Spring_Struts集成

    3. **获取BeanFactory**:在Action的execute方法中,通过`WebApplicationContextUtils`工具类获取ServletContext中的BeanFactory。 4. **获取业务逻辑对象**:从BeanFactory中根据Bean ID获取对应的业务逻辑对象,...

    Struts Spring Hibernate 整合引用2008

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

    spring MVC实战

    最后,与Hibernate的整合开发将涵盖Spring的Hibernate支持,包括SessionFactory的配置、数据源的设置,以及如何通过HibernateTemplate或HibernateDaoSupport类简化DAO层的开发。这部分内容有助于理解如何在Spring ...

    spring 获得applicationcontext公用方法

    如果`ShipOrderRecipientImpl`需要依赖`ApplicationContext`,它可以通过依赖注入的方式获取,或者通过静态工具类(如`MyApplicationContextUtil.java`中可能定义的)来获取。 4. 文件`MyApplicationContextUtil....

Global site tag (gtag.js) - Google Analytics