在某些情况下,有可能你会有这种需求:在Spring/SpringMVC项目中,当Spring/SpringMVC启动完成后,你需要执行一个方法来完成某些事件(比如创建网站地图,比如从订阅Redis服务器等),这个时候,可以使用Tomcat/Servlet容器提供的事件回调机制来完成,但是这样有个问题是:无法使用Spring提供的Annotation,解决方法是:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.storezhang.web;
import com.storezhang.util.TimeUtils;
import com.storezhang.video.util.SiteMapUtils;
import java.util.Timer;
import java.util.TimerTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Service;
/**
* 启动监听器
*/
@Service
public class StartupListener implements ApplicationListener<ContextRefreshedEvent> {
@Autowired
private SiteMapUtils sites;
@Override
public void onApplicationEvent(ContextRefreshedEvent evt) {
if (evt.getApplicationContext().getParent() == null) {
createSitemap();
}
}
private void createSitemap() {
Timer timer = new Timer("createSitemap", true);
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("--->Create sitemap...");
sites.createSiteMap();
System.out.println("--->Success create sitemap...");
}
}, 1 * TimeUtils.MIN);
}
}
相关推荐
主要介绍了SpringMVC在启动完成后执行方法源码解析,还是非常不错的,在这里分享给大家,需要的朋友可以参考下。
SpringMVC+Spring+Mybatis+数据库完整代码可运行,适合学习参考,增删查改操作都有
这是一个简单的SpringMVC用aop写操作日志的例子
Spring Quartz 动态暂停、恢复、修改定时任务的一个demo,使用maven构建,框架采用spring springmvc jpa,数据库mysql,含数据库脚本,运行可用,页面访问地址http://localhost:8080/quartz_demo/quartz/list
Spring4.3.15 + Quartz2.2 + Spring MVC管理可以管理任务的暂停,启动、立即执行一次、根据表达式重新调度等功能
这个框架是在学习Spring的时候,为了积累学习成果,自己搭建的,一般的系统开发也可以直接使用,包括一个系统开发的基础功能。 以下是当时自己开发时的日志,大致可以说明...直接执行Jetty类的main方法就可以启动服务
执行npm install下载对应的依赖完成后输入npm run dev启动项目。后端介绍后端配置的tomcat端口号是8181,这也就意味着你要修改如果你配置其他端口,就需要对前后端整体替换掉这个端口号包括sql文件里的,建议你还是...
在eclipse中导出为可执行的jar,无需部署到任何web容器中。直接通过bat或shell启动即可。 系统启动时自动从数据库中读取框架配置信息,job信息,调度信息注入到框架中。 本系统内嵌了jetty作为框架的web接口为本框架...
spring mvc + gulp demo 安装全局的npm 安装全局的gulp $ npm install gulp -g cd 到工程目录 src/glup 执行命令:npm install bower install 完事之后 到 src/gulp 目录下执行 gulp serve 就可以看到页面了 如果...
#简易脚手架 - mytemplate ##介绍 mytemplate是一个简易脚手架,mytemplate简易脚手架项目仍然处于项目开发阶段,还有很多功能没有完成。...配置数据库,在项目的src/main/webapp/下面有一个mytemplat
1. Spring中Bean的生命周期 2. SpringBoot项目启动时执行特定的方法: 3. SpringMVC处理请求的流程 1. Authentica
启动后,您应该可以访问并查看“ Hello World”。 可以使用PORT环境变量来控制应用程序端口。 使用./gradlew clean test或mvn clean verify运行测试。 使用./gradlew clean onejar或mvn clean compile assembly:...
项目启动:进入项目根目录,执行以下命令启动项目: bash复制代码mvn spring-boot:run 系统介绍:一汽租车辆共享平台采用了先进的互联网技术和创新的商业模式,为广大用户提供了便捷、高效的租车服务。通过整合一汽...
将压缩文件解压后,将脚本在数据库执行后,启动eclipse,切换工作空间为解压的目录,就可以使用了
使用IDEA/Eclipse导入项目,若为maven项目请选择maven,导入成功后请执行maven clean;maven install命令 修改src\main\resources里面的jdbc.properties 里面的数据库配置 将项目加入到tomcat容器里面,启动项目
【资源说明】 1、基于Spring Boot的社区论坛项目源码+数据库+项目说明.zip ...- 下载zip直接解压或安装git后执行克隆命令 `git clone https://github.com/AatroxC/WeCommunity.git` - 安装各组件并启动:Redis、ZooKee
完成后输入**npm run dev**启动项目 前台地址:localhost:8081,后台地址localhost:8081/#/admin ## 注意事项 如果你的项目前端启动端口是8080,那么后端的过滤器里面配置前端的端口是8081,你要改成8080,或者你...
本资源是一个基于SSM(Spring、SpringMVC、MyBatis)的网上点餐系统。它包含了完整的源代码、部署说明、演示视频以及源码介绍,旨在帮助开发者快速搭建一个功能完善、性能优越的在线点餐平台。源码介绍:本项目采用了...
1.创建一个utf-8的数据库,数据库名根据自己...8.生成好并刷新工程后注意修改spring-common.xml与spring-servlet.xml和web.xml 修改其中的数据库信息以及扫描包等信息 9.启动项目 访问:http://localhost:8080/项目名
SpringBoot特性以及它与Spring、SpringMVC的区别 Jvm类加载机制 Java中的锁机制 Java按行读取txt中的内容 ... - 当虚拟机启动时,用户需要指定一个需要执行的主类(包含main方法的那个类)虚拟机会先初始化这个类