Open changju opened 2 years ago
public class StartingListener implements ApplicationListener<ApplicationStartingEvent>{
@Override
public void onApplicationEvent(ApplicationStartingEvent event) {
System.out.println("===================");
System.out.println("application is starting");
System.out.println("===================");
}
}
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication app =new SpringApplication(Application.class);
app.addListeners(new StartingListener());
app.run(args);
}
}
@Component
public class StartedListener implements ApplicationListener<ApplicationStartedEvent>{
@Override
public void onApplicationEvent(ApplicationStartedEvent event) {
// TODO Auto-generated method stub
System.out.println("===================");
System.out.println("application is started");
System.out.println("===================");
}
}
// ArgumentListener을 bean 으로 등록을 하면서 생성자가 하나이면서
// 그 생성자의 파라미터가 bean 일 경우 spring이 알아서 주입을 해준다.
// @Component의 의미는 ApplicationContext 에 Bean을 등록을 하는데 등록을 하면서 생성자가 호출이 되어진다.
@Component
public class ArgumentListener {
public ArgumentListener(ApplicationArguments arguments) {
System.out.println("==========ArgumentListener==========");
System.out.println("foo: " + arguments.containsOption("foo"));
System.out.println("bar: " + arguments.containsOption("bar"));
System.out.println("========================================");
}
}
4부: 스프링 부트 활용
20. SpringApplication 2부