web容器启动,获取spring bean

/**

 * 服务器启动关闭的监听器

 * @version 1.0

 */

public class GlobalListener implements ServletContextListener {

 private static final Logger log = LoggerFactory.getLogger(GlobalListener.class);

    private Timer timer = new Timer();

    /**

     * 关闭服务器

     */

    public void contextDestroyed(ServletContextEvent event) {

        log.info("关闭服务器");

        timer.cancel();

    }

    /**

     * 启动服务器

     */

    public void contextInitialized(ServletContextEvent event) {

        ApplicationContext ctx = 
                WebApplicationContextUtils.
                     getWebApplicationContext(event.getServletContext());
 
             ctx.getBean("dao");

        log.info("启动服务器");

        FrameConfig.waterImgPath = "/common_res/images/water.jpg";

        FrameConfig.maxCacheSize = 10000;

        FrameConfig.encoding = "UTF-8";

        timer.schedule(new TaskTimer(), getMillisecond(), Task.daySeconds * 1000l);// 每天执行一次

    }

    

    // 从现在到明天最早时间相差的毫秒数

    private Long getMillisecond() {

        DateUtil util = DateUtil.getBean();

        String beginTime = util.getDetachDate(util.getNowDate(0) + " 00:00:00"2, Task.daySeconds.intValue());

        return util.getDateDiff(util.getNowDate(1), beginTime) * 1000l;

    }

}

web.xml

<listener>

        <listener-class>com.xxx.GlobalListener</listener-class>

    </listener>

时间: 2024-10-12 22:05:05

web容器启动,获取spring bean的相关文章

WEB容器启动——web.xml加载详解

最近在看spring的源码,关于web.xml文件在容器(Tomcat.JBOSS等)启动时加载顺序问题很混乱,通过搜集资料,得出以下的结论: 1.加载顺序与它们在 web.xml 文件中的先后顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.最终得出的结论是:context-param -> listener -> filter -> servlet; 容器首先会去它的配置文件web.xml读取两个节点:  <context-param&

Java测试类获取spring bean方法

Java测试类获取spring bean方法 http://blog.163.com/lizhenming_2008/blog/static/76558333201362094243911/ 1.通过spring上下文 ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationcontext.xml"); DataSource ds = (DataSource) ctx.getBean("d

spring源码:web容器启动(li)

web项目中可以集成spring的ApplicationContext进行bean的管理,这样使用起来bean更加便捷,能够利用到很多spring的特性.我们比较常用的web容器有jetty,tomcat,jboss等,以jetty为例,我们看一下web容器是如何初始化和启动spring的context. 一.Spring容器的加载 在web工程中都有一个web.xml文件,jetty在启动的时候会加载这个配置文件,并且对文件中的各个listener进行加载.ContextLoaderListe

spring在web容器启动时执行初始化方法

需求:在tomcat启动时开启一个定时任务. 想法:容器启动时执行方法,最容易想到的就是servlet中可以配置load-on-startup,设置一个正整数也就可以随容器一起启动. 问题:上面的方法很好,但是由于定时任务需要去操作数据库,而项目采用了spring的依赖注入来管理对象,而servlet并不受Spring的管理.若此时在servlet中注入Spring管理的对象,则会报错:javax.naming.NameNotFoundException: Name com.test.InitS

Web容器启动中执行某个Java类

1.监听(Listener) <!-- 配置监听 --> <listener> <listener-class>com.xian.jdbc.GetProperties</listener-class> </listener> package com.xian.jdbc; public class GetProperties{ }      //implements ServletContextListener  可实现servlet的监听则启动中

Web开发中获取Spring的ApplicationContext的三种方式

在 WEB 开发中,可能会很少需要显示的获得 ApplicationContext 来得到由 Spring 进行管理的某些 Bean, 今天我就遇到了,在这里和大家分享一下, WEB 开发中,怎么获取 ApplicationContext 一       要想怎么获取 ApplicationContext, 首先必须明白 Spring 内部 ApplicationContext 是怎样存储的.下面我们来跟踪一下源码 首先:从大家最熟悉的地方开始 Java代码   <listener> <

获取Spring Bean工具类SpringContextUtil

有时候需要在非Spring环境获取Spring的Bean import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; import o

Java Web(5)论如何在 Listener获取Spring Bean

1. 在Web系统开始运行前,需要在数据库里填充一些预置的数据.这里就需要一个在系统运行时,只运行一次的方法,来实现系统的初始化过程. 在这里,自然而然的想到了ServletContextListener这么一个监听器,在serlvet-api文档是这么描述的 Interface for receiving notification events about ServletContext lifecycle changes. 而刚好,一个web系统,就只有一个servletContext. 2.

Spring Boot web容器启动

一.启动前的准备: 1.SpringApplication构造方法,赋值webApplicationType Debug启动项目后,进入SpringApplication构造函数,里面有个webApplicationType 2.根据classpath下是否存在特定类来决定哪种类型,分别为SERVLET, REACTIVE, NONE deduceFromClasspath方法返回webApplicationType为Servlet 3.然后进入run方法,进入创建应用程序上下文方法create