`

取WebApplicationContext方法集

 
阅读更多
通过xml配置文件

      bean配置在xml里面,spring提供多种方式读取配置文件得到ApplicationContext.

第一种方式:FileSystemXmlApplicationContext

通过程序在初始化的时候,导入Bean配置文件,然后得到Bean实例:

ApplicationContext ac = new FileSystemXmlApplication Context("applicationContext.xml")
ac.getBean("beanName");


第二种方式:WebApplicationContextUtil

在B/S系统中,通常在web.xml初始化bean的配置文件,然后由WebAppliCationContextUti l得到ApplicationContext.例如:

ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);


其中 servletContext sc 可以具体 换成 servlet.getServletContext()或者 this.getServletContext() 或者 request.getSession().getServletContext();

另外,由于spring是注入的对象放在ServletContext中的,所以可以直接在ServletContext取出WebApplicationContext 对象:

WebApplicationContext webApplicationContext = (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);



getRequiredWebApplicatio nContext和 getWebApplicationContext 的区别是,获取失败时候,getRequiredWebApplicatio nContext抛出异常,getWebApplicationContext 抛出null


方法三:继承自抽象类ApplicationObjectSupport

说明:可以方便的获取到ApplicationContext。Spring初始化时,会通过该抽象类的 setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入

方法四:继承自抽象类WebApplicationObjectSupport 说明:类似上面方法,调用getWebApplicationContext ()获取WebApplicationContext

方法五:实现接口ApplicationContextAware 说明:实现该接口的setApplicationContext(ApplicationContext context)方法,
并保存ApplicationContext 对象。Spring初始化时,会通过该方法将ApplicationContext 对象注入
分享到:
评论

相关推荐

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

    Spring 获取 WebApplicationContext、ApplicationContext 几种方法详解 在 Spring 框架中,获取 WebApplicationContext 和 ApplicationContext 对象是非常重要的,因为它们提供了访问 Spring 容器中的 Bean 对象的...

    在web容器(WebApplicationContext)中获取spring中的bean

    Spring把Bean放在这个容器中,普通的类在需要的时候,直接用getBean()方法取出

    在自定义spring aop中使用el获取拦截方法的变量值。

    EL的使用需要`WebApplicationContext`,因为EL解析器在Spring MVC环境中是默认启用的。如果在非Web环境下,如简单的Spring Boot应用,我们需要添加`spring-expression`依赖并配置Spring的EL支持。 以下是一个简单的...

    Spring MVC之WebApplicationContext_动力节点Java学院整理

    Spring MVC是Java领域非常流行的Web框架,而WebApplicationContext是Spring MVC中用于Web应用的一种特殊的ApplicationContext。在了解WebApplicationContext之前,我们先简单回顾一下Spring的IoC容器。IoC...

    几种spring获取bean的方法.txt

    可以通过`WebApplicationContextUtils`工具类中的静态方法`getWebApplicationContext()`来获取当前Web应用的`ApplicationContext`实例。一旦获取到了`ApplicationContext`,就可以调用其`getBean()`方法来获取特定...

    获得spring里注册Bean的四种方法

    获得 Spring 里注册 Bean 的四种方法 ...下面将介绍四种获取 Spring 里注册 Bean 的方法。 方法一:继承 BaseDispatchAction ...每种方法都有其特点和应用场景,开发者可以根据实际情况选择合适的方法。

    Spring如何获取Bean

    WebApplicationContext webApplicationContext = (WebApplicationContext) sc.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE); MyBean myBean = (MyBean) webApplicationContext....

    获取spring容器的方法

    选择哪种方法获取Spring容器主要取决于具体的应用场景。对于非Web环境,直接初始化`ApplicationContext`是最直接的方法;在Web环境中,利用`ServletContext`或实现特定的接口可以更灵活地访问`ApplicationContext`。...

    Spring框架系列(13) - SpringMVC实现原理之DispatcherServlet的初始化过程.doc

    由于绑定了 ServletContext,这样应用程序就可以在需要的时候使用 RequestContextUtils 的静态方法访问 WebApplicationContext。 大多数应用程序只有一个 WebApplicationContext,除此之外也可以一个 Root ...

    Spring源码学习九:DispatcherServlet初始化源码分析1

    在initStrategies方法中,它会从WebApplicationContext中查找对应的策略,如果找不到那么将会加载和DispatcherServlet同目录下的DispatcherServlet.properties中的策略,例如初始化HandlerMapping等,具体代码如下图...

    SpringMVC中的RootApplicationContext上下文和WebApplicationContext上下文,通过注解配置SpringMVC的完整解决方案

    注解配置SpringMVC原理简述1. 准备知识1.1 两个应用上下文1.2 ServletContext配置方法(Configuration Methods)1.3 运行时插拔1.4 SpringServletContainerInitializer1.4.1 AbstractContextLoaderInitializer1.4.2 ...

    Spring TestContext

    Spring TestContext Framework是spring-test模块中提供的一个测试框架,能够用于单元测试和集成测试。

    深度解析springMvc

    - 在创建 `WebApplicationContext` 的过程中,会调用 `configureAndRefreshWebApplicationContext()` 方法来配置并刷新应用上下文,这是 Spring IOC 容器启动的关键步骤。 - 最终,通过调用 `onRefresh()` 方法来...

    Spring在容器在启动的时候发生了什么

    `ContextLoader`的核心方法是`initWebApplicationContext`,它负责根据`contextConfigLocation`参数指定的XML配置文件路径,初始化`WebApplicationContext`。这些配置文件通常包含了Spring的bean定义,如服务、数据...

    spring的mvc.doc

    这个方法主要负责创建一个`WebApplicationContext`对象,这是Spring MVC的核心上下文,它包含所有bean的定义和配置。`initServletBean()`进一步调用了`initWebApplicationContext()`,将Servlet的`ServletContext`...

    Struts+Spring+Hibernate 简单例子开发

    - **DAO层**:`UserDao`接口定义了获取用户信息的方法,而`UserDaoImpl`类实现了这些方法,并通过Hibernate的映射来查询数据库。 ```java public interface UserDao { List<User> getName(String id); } ...

    Spring MVC启动时初始化的几个常用方法

    1. **加载配置**:`DispatcherServlet`会在初始化阶段读取配置文件(如`servlet-context.xml`),通过`WebApplicationContext`加载Bean定义。这个过程中,你可以自定义拦截器、视图解析器、异常处理器等关键组件。 ...

    S2SH中JSP页面调用dao的方法

    接下来,我们需要通过`WebApplicationContextUtils.getWebApplicationContext()`方法获取Spring的ApplicationContext实例。这一步非常重要,因为只有通过这种方式才能获得Spring容器中管理的对象实例。 ```jsp ...

    Web服务启动时自动加载Servlet,并读取数据库内容

    在这里,`@Autowired`注解由Spring自动注入`JdbcTemplate`,然后我们可以调用其`query()`方法执行SQL查询,使用`RowMapper`将结果集映射到对象。 总结起来,要实现Web服务启动时自动加载Servlet并读取数据库内容,...

    Spring源代码解析(二):IoC容器在Web容器中的启动.doc

    在Web MVC场景下,除了根`WebApplicationContext`外,还会创建一个或多个子`WebApplicationContext`,通常用于处理特定的Servlet或DispatcherServlet。这些子上下文与根上下文形成层次结构,使得我们可以将业务逻辑...

Global site tag (gtag.js) - Google Analytics