`

spring的contextinitialized 执行了2次

 
阅读更多

今天遇见了个很神奇的问题;本来想spring启动的时候,启动一个监听,执行一段代码;

后来发现一直执行了2次;本来以为是tomcat执行了一次,spring执行了一次;后来发现不是;原来

 

 <listener>
  <listener-class>com.hh.listener.DxmListener</listener-class>
 </listener>
   
    <listener>
  <listener-class>com.hh.listener.DxmListener</listener-class>
 </listener>

 

自己写了2次;。。。无语

 

分享到:
评论

相关推荐

    Spring3.0定时任务简单实例web工程

    在传统的Servlet 2.x环境中,可以使用`ServletContextListener`监听器,在`contextInitialized`方法中启动任务调度。而在Servlet 3.0及以上版本,可以利用`@WebServlet`或`@WebListener`注解。例如: ```java @Web...

    jsp定时执行的三种方法

    // 延迟10秒后首次执行,之后每天执行一次 } } ``` ### 2. 利用`ServletContextListener` 对于Web应用而言,`ServletContextListener`提供了在应用启动和关闭时执行代码的能力。这种机制可以用来初始化和销毁...

    启动Spring项目详细过程(小结)

    该过程可以分为四个步骤:项目放到web项目容器中、容器启动时加载读取web.xml配置文件、ContextLoaderListener中的contextInitialized()方法、初始化spring容器。 步骤1:项目放到web项目容器中 首先,我们需要将...

    Spring源码学习七:web应用自动装配Spring配置文件1

    `ContextLoaderListener`的`contextInitialized`方法主要负责调用`initWebApplicationContext`方法,该方法在`ContextLoader`类中实现,其作用是初始化Web环境下的Spring应用上下文(ApplicationContext)。...

    spring的监听器和缓存.docx

    当Web应用启动时,`contextInitialized`会被调用,执行初始化操作;相反,当Web应用停止时,`contextDestroyed`会被调用来执行清理任务。为了将这个监听器注册到Spring Boot中,我们可以创建一个`ListenerConfig`类...

    java Timer定时器实例 Spring实例.doc

    当Web应用启动时,`contextInitialized` 方法会被调用,从而初始化定时器。这里创建了一个 `Timer` 对象,并使用 `scheduleAtFixedRate` 方法安排了 `MailTimerTask` 的执行。`scheduleAtFixedRate` 方法的第一个...

    spring boot 开发 servlet filters listeners

    我们可以通过实现 `ServletContextListener` 来监听容器启动事件,并在 `contextInitialized` 方法中执行相应的操作。 #### 五、总结 在 Spring Boot 中使用 Servlet、Filter 和 Listener 可以让开发者更加灵活地...

    SpringBoot整合Listener的两种方式.docx

    这个接口提供了两个方法:`contextInitialized()`和`contextDestroyed()`,分别在Servlet容器启动和关闭时被调用。 ```java @WebListener public class FirstListener implements ServletContextListener { @...

    SpringMVC中ervletContextListener的使用

    `ServletContextListener`是一个接口,它包含两个方法:`contextInitialized`和`contextDestroyed`。当Web应用程序启动时,服务器会调用`contextInitialized`方法,而在应用程序关闭时调用`contextDestroyed`。...

    java_Timer定时器实例_Spring实例

    - `contextInitialized()`方法在应用启动时初始化一个`Timer`对象,并安排了一个名为`MailTimerTask`的任务,使其每天在指定时间(例如:14:17)运行一次。 - `contextDestroyed()`方法在应用关闭时取消所有已安排的...

    Spring源码学习十三:IntrospectorCleanupListener解析1

    `ServletContextListener`的`contextInitialized()`方法按照配置顺序依次执行,而`contextDestroyed()`方法则按照逆序执行。因此,将`IntrospectorCleanupListener`放在首位可以确保在Web应用关闭时尽早执行清理操作...

    spring启动.txt

    #### 二、Spring在Tomcat容器中的启动过程 ##### 1. Tomcat加载web.xml配置文件 当部署一个Web应用程序到Tomcat服务器时,服务器首先会加载该应用下的`web.xml`配置文件。这个文件包含了应用程序的基本配置信息,...

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

    当Web应用启动时,Servlet容器会调用`ContextLoaderListener`的`contextInitialized`方法。在这个方法中,`ContextLoaderListener`创建了一个`ContextLoader`实例,并通过`initWebApplicationContext`方法初始化Web...

    spring 与hibernate的集成

    `ContextLoaderListener`是Spring的核心组件,它实现了`ServletContextListener`接口,当Web服务器启动时,会调用其`contextInitialized`方法,从而加载`contextConfigLocation`参数所指定的配置文件。如果想要...

    Java定时执行任务的三种方法

    在`contextInitialized`方法中初始化定时任务,而在`contextDestroyed`方法中取消任务。配置示例: ```java public class MyTimerTask implements ServletContextListener { private Timer timer = null; @...

    spring在web.xml中和在struts中的不同配置..pdf

    `ContextLoaderListener`的`contextInitialized`方法会调用`createContextLoader()`创建`ContextLoader`实例,并通过`initWebApplicationContext`方法初始化WebApplicationContext。`ContextLoader`将...

    Spring 任务调度

    在`contextInitialized`方法中创建并启动`Timer`,而在`contextDestroyed`方法中取消所有任务并销毁`Timer`,确保资源的正确管理。 总结来说,Spring的任务调度通过集成JDK的Timer或更高级的Quartz库,为开发者提供...

    Java定时器在Web中的应用.doc

    这样,`WorkServiceImpl`就会在Web应用启动时自动加载,并在其`contextInitialized()`方法中启动定时器,执行`SampleTask`。 4. **任务执行逻辑**: `SampleTask`类中的`run()`方法是任务的执行入口。在这里,它...

    Spring在web下启动流程学习笔记

    这个监听器是Spring Web应用程序的核心组件,它继承自`ContextLoader`,并在Web容器启动时执行`contextInitialized`方法。在这个方法中,`ContextLoader`会调用`initWebApplicationContext`,这是启动Web上下文的...

    JAVA定时执行

    在这个文件中,我们需要注册`ReloadResourceListener`,这样当Web应用启动时,Spring容器会自动实例化并调用`contextInitialized`方法。 ```xml ... &lt;listener-class&gt;...

Global site tag (gtag.js) - Google Analytics