作用:
spring所有Bean生成之后,加載一些數據和執行一些應用的初始化
使用
@Order(value = 1) // 多個實現時定義執行順序 @Component public class ApplicationInit implements CommandLineRunner, ApplicationListener<ApplicationEvent> { private static Log logger = LogFactory.getLog(ApplicationInit.class); @Autowired private ActiveMQTask activeMQTask; private boolean openCVLoad; public static String openCVXmlPath; @Autowired private JmsConsumerTask jmsConsumerTask; @Autowired private DefaultMessageListener messageListener; @Override public void run(String... args) { System.out.println("------------------------ Spring初始化完畢 ------------------------"); logger.error("---" + Arrays.toString(args) + "---"); this.applicationStarted(); //spring啟動后執行的自定義任務:開啟activityMQ隊列 } @Override public void onApplicationEvent(ApplicationEvent event) { if (logger.isDebugEnabled()) { logger.debug("event:" + event.getClass().getName()); } } private void applicationStarted() { System.out.println("> 啟動ActiveMQ[啟動服務]"); activeMQTask.start(); } private void appStop() { logger.error("----------------------------Tomcat開始運行關閉----------------------------"); }
推薦:CommandLineRunner https://blog.csdn.net/lk142500/article/details/90270592
ApplicationListener https://blog.csdn.net/liyantianmin/article/details/81017960