java web 获取spring 通过配置web.xml 监听器加载的spring IoC容器

转载 2018年04月15日 18:18:20
[转载自](https://www.cnblogs.com/zhangshitong/p/5387058.html)

java web中如何获取spring容器中定义的bean—-WebApplicationContext的使用

本文简单编写一个servlet来获取spring容器中管理的<bean  id=”dateBean” class=”java.util.Date” singleton=”false”/>本文只是简单举例,当然可以获取任意你想获取的bean

lib中放入spring所必须的jar包

1.首先看web.xml文件

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:beans-config.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>


    <servlet>
        <servlet-name>time</servlet-name>
        <servlet-class> com.ssh.action.TimeServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>time</servlet-name>
        <url-pattern>/time.do</url-pattern>
    </servlet-mapping>
</web-app>
复制代码

2.看beans-config.xml

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC 
 "-//SPRING/DTD BEAN/EN" 
 "http://www.springframework.org/dtd/spring-beans.dtd">
 <beans>
     <bean id="dateBean" class="java.util.Date" singleton="false"/>
 </beans>
复制代码

3.TimeServlet.java

复制代码
package com.ssh.action;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

public class TimeServlet extends HttpServlet {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        WebApplicationContext ctx=WebApplicationContextUtils.
                getRequiredWebApplicationContext(this.getServletContext());
        PrintWriter out=resp.getWriter();
        out.println(ctx.getBean("dateBean"));
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(req, resp);
    }

}
复制代码

4.效果图:

Tomcat启动时加载数据到缓存--Web.xml里listener的加载顺序,优先初始化Spring IOC容器

最近用到在Tomcat服务器启动时自动加载数据到缓存,这就需要创建一个自定义的缓存监听器并实现ServletContextListener接口,并且在此自定义监听器中需要用到Spring的依赖注入功能...
  • u011217058
  • u011217058
  • 2017-07-25 14:41:22
  • 1302

[Spring]web.xml中配置ContextLoaderListener监听器的作用

[Spring]web.xml中配置ContextLoaderListener监听器的作用
  • Konaji
  • Konaji
  • 2016-10-14 15:49:49
  • 8804

spring项目中,web.xml中的 ContextLoaderListener监听器的原理

创建监听器和ServletContext的code: contextConfigLocation classpath*:applicationContext-*.xml org...
  • isunnyvinson
  • isunnyvinson
  • 2016-10-11 13:58:01
  • 1631

Spring - web环境下IOC容器

IOC容器的获取主要思想是通过配置监听器,在项目启动时,查找类路径下的applicationContext.xml文件,创建容器。或者如果项目使用全注解,则使用配置类创建容器。 项目中的容器包含关系...
  • J080624
  • J080624
  • 2017-01-11 15:00:38
  • 1746

spring源码研究之IoC容器在web容器中初始化过程

前段时间在公司做了一个项目,项目用了spring框架实现,WEB容器是Tomct 5,虽然说把项目做完了,但是一直对spring的IoC容器在web容器如何启动和起作用的并不清楚。所以就抽时间看一下s...
  • liuganggao
  • liuganggao
  • 2015-03-05 15:51:50
  • 4293

【Spring源码--IOC容器的实现】(一)Web容器的启动

Web环境中的SpringIOC的上下文设计,从web.xml配置一步步跟踪源码,通过清晰的注释描述IOC容器的启动过程。...
  • u013185616
  • u013185616
  • 2016-08-11 20:33:20
  • 1498

监听器如何获取Spring配置文件

我们在做项目的时候,会用到监听器去获取Spring的配置文件,然后从中拿出我们需要的bean出来,比如做网站首页,假设商品的后台业务逻辑都做好了,我们需要创建一个监听器,在项目启动时将首页的数据查询出...
  • eson_15
  • eson_15
  • 2016-05-11 14:40:12
  • 9967

web.xml文件中以监听器的形式加载spring的笔记

org.springframework.web.context.ContextLoaderListener contextConfigLocation classpat...
  • shehun11
  • shehun11
  • 2014-09-19 16:50:48
  • 937

关于SpringMVC,Web.xml监听器是否必须

我们首先来看两个配置:     spring     org.springframework.web.servlet.DispatcherServlet     ]-servlet....
  • cd_cd
  • cd_cd
  • 2017-06-27 09:53:24
  • 1717

web.xml中对spring的监听

org.springframework.web.context.request.RequestContextListener org.springframework.web.context...
  • is_zhoufeng
  • is_zhoufeng
  • 2012-05-05 13:47:49
  • 3413
收藏助手
不良信息举报
您举报文章:java web 获取spring 通过配置web.xml 监听器加载的spring IoC容器
举报原因:
原因补充:

(最多只允许输入30个字)