spring boot 初始化 类 做初始化任务操作 继承 ApplicationRunner 实例

172 阅读3分钟

目录

需要

初始化类

启动类

日志


需要

1.正常springboot 项目

2.不需要做任何就这一个集成ApplicationRunner  的类 即ok

3.执行的具体任务

4.看如下示例

 

初始化类

package com.superman.conf.init;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

import com.superman.global.service.GlobalAPIService;
import com.superman.job.impl.JobExecute;
 
/**
 * 初始化内容
 * 
 * @author yushen
 *
 */
@Component
@Order(value=1)
public class InitApplicationRunner implements ApplicationRunner{
	
	private static final Logger logger = LoggerFactory.getLogger(InitApplicationRunner.class);
	
	@Autowired
	private JobExecute je;
	
	@Autowired
	private GlobalAPIService gas;
	
	
	/**
	 * 开发环境的时候如果有需要可以把这里注释掉,在正式环境的时候调用
	 * 如果本地服务器启动的快的话可以直接开启
	 * 
	 */
	@Override
	public void run(ApplicationArguments args) throws Exception {
		logger.info("初始化任务1--数据记录数量定时任务  开始 !");
		try {
			je.execute();
		} catch (Exception e) {
			logger.info("初始化任务1 -- 数据记录数量定时任务  失败!");
		}
		logger.info("初始化任务1-- 数据记录数量定时任务  完毕 !");
		
		logger.info("初始化任务2-- 对外接口启用禁用缓存数据任务  开始 !");
		try {
			gas.updateCache();
		} catch (Exception e) {
			logger.info("初始化任务2--  对外接口启用禁用缓存数据任务  失败!");
		}
		logger.info("初始化任务2--  对外接口启用禁用缓存数据任务  完毕 !");
		
		
	}
}

 

启动类

package com.superman;

import org.apache.log4j.BasicConfigurator;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import com.superman.tonifi.InitInfo;


/**
 * 项目启动类
 * 
 * @author yushen
 *
 */
@SpringBootApplication
public class Provider_App {
	
	/**
	 * 项目启动入口
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		
		SpringApplication.run(Provider_App.class, args);
	 
	}
	
}

 

日志

2019-07-18 10:24:04.913  INFO 6388 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 9999 (http)
2019-07-18 10:24:04.923  INFO 6388 --- [  restartedMain] c.s.conf.init.InitApplicationRunner      : 初始化任务1--数据记录数量定时任务  开始 
2019-07-18 10:24:08.421  INFO 6388 --- [  restartedMain] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited
2019-07-18 10:24:08.466  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql:{sql= delete from table_data_num }
2019-07-18 10:24:08.469  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql:5
2019-07-18 10:24:08.469  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql: insert into table_data_num (tablename,tablecount)  values ('alarm_rules','1')
2019-07-18 10:24:08.471  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql:1
2019-07-18 10:24:08.471  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql: insert into table_data_num (tablename,tablecount)  values ('base_config','1')
2019-07-18 10:24:08.472  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql:1
2019-07-18 10:24:08.473  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql: insert into table_data_num (tablename,tablecount)  values ('sampling_for','22')
2019-07-18 10:24:08.474  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql:1
2019-07-18 10:24:08.474  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql: insert into table_data_num (tablename,tablecount)  values ('code_bmlx','8')
2019-07-18 10:24:08.476  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql:1
2019-07-18 10:24:08.476  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql: insert into table_data_num (tablename,tablecount)  values ('table_data_num','5')
2019-07-18 10:24:08.478  INFO 6388 --- [  restartedMain] com.superman.job.impl.JobExecute         : 执行sql:1
2019-07-18 10:24:08.478  INFO 6388 --- [  restartedMain] c.s.conf.init.InitApplicationRunner      : 初始化任务1-- 数据记录数量定时任务  完毕 
2019-07-18 10:24:08.478  INFO 6388 --- [  restartedMain] c.s.conf.init.InitApplicationRunner      : 初始化任务2-- 对外接口启用禁用缓存数据任务  开始 
2019-07-18 10:24:08.481  INFO 6388 --- [  restartedMain] c.s.conf.init.InitApplicationRunner      : 初始化任务2--  对外接口启用禁用缓存数据任务  完毕 
2019-07-18 10:24:08.486  INFO 6388 --- [  restartedMain] com.superman.Provider_App                : Started Provider_App in 12.984 seconds (JVM running for 13.657)
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
2019-07-18 10:24:10.312  INFO 6388 --- [ service-Async1] com.alibaba.druid.pool.DruidDataSource   : {dataSource-2} inited

 

 

 

ok 

 

 

持续更新