package com.baeldung.springbootnonwebapp; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * 1. Act as main class for spring boot application * 2. Also implements CommandLineRunner, so that code within run method * is executed before application startup but after all beans are effectively created * @author hemant * */ @SpringBootApplication public class SpringBootConsoleApplication implements CommandLineRunner { private static final Logger LOG = LoggerFactory.getLogger(SpringBootConsoleApplication.class); public static void main(String[] args) { LOG.info("STARTING THE APPLICATION"); SpringApplication.run(SpringBootConsoleApplication.class, args); LOG.info("APPLICATION STARTED"); } /** * This method will be executed after the application context is loaded and * right before the Spring Application main method is completed. */ @Override public void run(String... args) throws Exception { LOG.info("START : command line runner"); LOG.info("EXECUTING : command line runner"); LOG.info("END : command line runner"); } }