java如何实现项目启动时执行指定方法

本文实例为大家分享了java项目启动时执行指定方法,供大家参考,具体内容如下

想到的就是监听步骤如下:

1.配置web.xml

 <listener>
 <listener-class>com.listener.InitListener</listener-class>
</listener> 

2.编写InitListener类

package com.listener;

import java.io.File;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import com.seegot.util.PropertyUtil;

public class InitListener implements ServletContextListener {

 @Override
 public void contextDestroyed(ServletContextEvent arg0) {
  // TODO Auto-generated method stub

 }

 @Override
 public void contextInitialized(ServletContextEvent arg0) {
  // TODO Auto-generated method stub
  System.out.println("================>[ServletContextListener]自动加载启动开始.");
  String resourceFilesPath = PropertyUtil.getProperty("tempZipPath");
  clearFiles(resourceFilesPath);
 }
 // 删除文件和目录
 private static boolean clearFiles(String workspaceRootPath) {
  File file = new File(workspaceRootPath);
  if (file.exists()) {
   deleteFile(file);
  }
  // resources 文件夹被删除后需新建
  if (!file.exists() && workspaceRootPath.endsWith("resources")) {
   return file.mkdir();
  } else if (!file.exists()) {
   return true;
  }
   return false;
  }

 private static boolean deleteFile(File file) {
  if (file.isDirectory()) {
   File[] files = file.listFiles();
   for (int i = 0; i < files.length; i++) {
    deleteFile(files[i]);
   }
  }
   return file.delete();
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Spring MVC配置双数据源实现一个java项目同时连接两个数据库的方法

    前言 本文主要介绍的是关于Spring MVC配置双数据源实现一个java项目同时连接两个数据库的方法,分享出来供大家参考学习,下面来看看详细的介绍: 实现方法: 数据源在配置文件中的配置 <pre name="code" class="java"><?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spring

  • Java项目安全处理方法

    一.URL中参数显示问题,解决方案: 1.普通Get请求修改为Post请求 2.参数加密(js加密,Java解密) 二.Mybatis模糊查询中,sql拼接问题,解决方案方案: 1.使用安全的符号和方法,xml中拼接示例: <if test="stateList != null"> state in <foreach close=")" collection="stateList" index="index"

  • java实现ATM取款项目

    项目要求: 1.用户需要从控制台输入账号密码,账号或者密码不正确报异常 2.每日取款的金额有限制(100,30000),否则报异常 3.每次取款都要有记录,并在下一次取款时显示出来 思路: 1.先在"银行类"里生成一些用户(跳过了注册环节) 2.可使用List集合存储取款日志 3.可使用Map集合将"用户名"和对应的用户信息建立"键值关系" 4.使用while循环控制流程 项目实现代码: 管理类(含main方法): import java.uti

  • javaWeb项目部署到阿里云服务器步骤详解

    记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以完成打包,如下图: 2.安装Xshell和Xftp两种软件 简单介绍下这两种软件作用(详情请百度相关文档) Xshell:通过网络连接到远程服务器主机. Xftp:能在Linux.Unix和Windows之间互传文件. 3.通过Xshell连接远程主机,如下图    4.创建会话完成,点击连接,显示

  • java如何实现项目启动时执行指定方法

    本文实例为大家分享了java项目启动时执行指定方法,供大家参考,具体内容如下 想到的就是监听步骤如下: 1.配置web.xml <listener> <listener-class>com.listener.InitListener</listener-class> </listener> 2.编写InitListener类 package com.listener; import java.io.File; import javax.servlet.Ser

  • 详解Spring Boot 项目启动时执行特定方法

    Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRunner. 这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方法.我们可以通过实现ApplicationRunner和CommandLineRunner,来实现,他们都是在SpringApplication 执行之后开始执行的. CommandLineRunner接口可以用来接收字符串数组的命令行参数,ApplicationRunner 是使用App

  • springboot中项目启动时实现初始化方法加载参数

    目录 springboot项目启动,初始化方法加载参数 1.@PostConstruct说明 2.@PreDestroy说明 第一种:注解@PostConstruct 第二种:实现CommandLineRunner接口 第三种:springboot的启动类 springboot初始化参数顺序 spring初始化参数顺序为 springboot项目启动,初始化方法加载参数 今天我看到项目中用到了 @PostConstruct 这个注解,之前没看到过,特地查了一下, 1.@PostConstruct

  • @PostConstruct在项目启动时被执行两次或多次的原因及分析

    @PostConstruct项目启动时被执行两次或多次 原因 是因为文件对@PostConstruct所在类扫描了两次! 首先排查,带有扫描包配置(context:component-scan)的同一spring文件,是否在web.xml配置中,初始化就执行的那种配置(比如context-param,init-param),被重复的配置了两遍. 然后在排查,web.xml中配置了初始化配置的多个spring文件是否都扫描了@PostConstruct所在类的所在包!常见SpringMVC文件的扫

  • 详解Java程序启动时-D指定参数是什么

    目录 参数设置 参数获取 测试类 总结 参数设置 java程序启动参数 -D是用来做什么的呢? 官方解释如下: Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes: java -Dfoo="some string" SomeClass 也就是说-D是用来在启动一个java程序时设置系统属性值的. 注意: 如

  • 详解SpringBoot程序启动时执行初始化代码

    因项目集成了Redis缓存部分数据,需要在程序启动时将数据加载到Redis中,即初始化数据到Redis. 在SpringBoot项目下,即在容器初始化完毕后执行我们自己的初始化代码. 第一步:创建实现ApplicationListener接口的类 package com.stone; import com.stone.service.IPermissionService; import org.springframework.context.ApplicationListener; import

  • Spring Boot 项目启动自动执行方法的两种实现方式

    目录 实际应用场景: 第一种实现ApplicationRunner接口 第二种实现CommandLineRunner接口 对比: 注意: 实际应用场景: springboot项目启动成功后执行一段代码,如系统常量,配置.代码集等等初始化操作:执行多个方法时,执行顺序使用Order注解或Order接口来控制. Springboot给我们提供了两种方式 第一种实现ApplicationRunner接口 package org.mundo.demo.core; import org.springfra

  • 记一次springboot配置redis项目启动时的一个奇怪的错误

    目录 springboot配置redis项目启动时的错误 总是爆出下面的错误 解决springboot项目启动时redis报错 出现ERRClientsentAUTH,butnopasswordisset的问题 springboot配置redis项目启动时的错误 在刚开始学redis时,我照着网上的教程,把redis和jedis整合到spring boot,整合完毕后,启动项目总是失败 总是爆出下面的错误 Correct the classpath of your application so

  • springboot项目启动后执行方法的三种方式

    目录 1 方法 方法1:spring的ApplicationListener< ContextRefreshedEvent>接口 方法2:springboot的ApplicationRunner接口 方法3:springboot的CommandLineRunner接口 2 指定执行顺序 3 原理 springboot项目启动后执行方法,有三种实现方式. 1 方法 ApplicationListener< ContextRefreshedEvent> 不推荐 ApplicationL

  • SpringBoot项目启动时如何读取配置以及初始化资源

    介绍   在开发过程中,我们有时候会遇到非接口调用而出发程序执行任务的一些场景,比如我们使用quartz定时框架通过配置文件来启动定时任务时,或者一些初始化资源场景等触发的任务执行场景. 方法一:注解 方案   通过使用注解@Configuration和@Bean来初始化资源,配置文件当然还是通过@Value进行注入. @Configuration:用于定义配置类,可替换xml配置文件,被注解的类内部一般是包含了一个或者多个@Bean注解的方法. @Bean:产生一个Bean对象,然后将Bean

随机推荐