package com.github.tomato.core; import com.github.tomato.util.Banner; import org.springframework.beans.BeansException; import org.springframework.boot.context.event.ApplicationStartedEvent; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; /** * @author liuxin * 2020-01-04 23:14 */ public class TomatoStartListener implements ApplicationListener<ApplicationEvent>, ApplicationContextAware { private ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } @Override public void onApplicationEvent(ApplicationEvent applicationEvent) { if (applicationEvent instanceof ApplicationStartedEvent) { Idempotent idempotent = applicationContext.getBean(Idempotent.class); if (idempotent != null) { Banner.print(); } } } }