package com.lyms.etl; import com.lyms.etl.datasource.DynamicDataSourceRegister; import com.lyms.etl.service.IInvokeHandler; import com.lyms.etl.util.AopTargetUtil; import org.mybatis.spring.annotation.MapperScan; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Import; import org.springframework.transaction.annotation.EnableTransactionManagement; import java.util.Date; import java.util.Set; /** * @Author: litao * @Date: 2017/5/2 0002 20:29 * @Version: V1.0 */ @SpringBootApplication @EnableTransactionManagement @Import({ DynamicDataSourceRegister.class }) @MapperScan("com.lyms.etl.dao") public class ApplicationRunner implements CommandLineRunner{ private static final Logger log = LoggerFactory.getLogger(ApplicationRunner.class); @Autowired Set invokeHandlers; public static void main(String[] args) { SpringApplication.run(ApplicationRunner.class, args); } @Override public void run(String... strings) throws Exception { for (IInvokeHandler handler : invokeHandlers) { Date start = new Date(); log.info("start ................ {}", AopTargetUtil.getTarget(handler).getClass().getName()); handler.invoke(); log.info("end ................ used: {} ms", System.currentTimeMillis() - start.getTime()); } } }