JAVA/Spring(111)
-
[Springboot] 23. SpringApplication #4 Application Exit & Admin Features
1. Application Exit 각각의 SpringApplication은 ApplicationContext가 정상적으로 종료하기 위해서 JVM에 shutdown hook을 등록합니다. 모든 표준 스프링 라이프싸이클 콜백(DisposableBean 인터페이스 또는 @PreDestory 애노테이션)은 사용할 수 있습니다. 게다가 만약 SpringApplication.exit() 메서드가 호출될때 특정한 종료 코드를 반환하고 싶은 경우에 빈(bean)들은 "org.springframework.boot.ExitCodeGenerator" 인터페이스를 구현할 수 있습니다. 이 종료 코드는 다음과 같이 상태코드로써 반환되어 System.exit() 메서드에 전달될 수 있습니다. @SpringBootApplicat..
2022.10.14 -
[Springboot] 23. SpringApplication #3 Web Environment
1. Web Environment SpringApplication은 사용자를 대신하여 ApplicationContext를 생성하려고 합니다. 이때 WebApplicationType에 따라서 ApplicationContext의 타입이 달라집니다. WebApplicationType의 종류 WebApplicationType.NONE : 웹 응용 프로그램으로 실행되지 않아야 하며, 내장된 웹 서버를 시작하지 않아야 합니다. WebApplicationType.REACTIVE : 반응형 웹 응용 프로그램으로 실행. 내장된 반응형 웹 서버를 시작해야 한다. WebApplicationType.SERVLET : 서블릿 기반 웹 응용 프로그램으로 실행. 내장된 서블릿 웹 서버를 시작해야 한다. Spring Web MVC가..
2022.10.13 -
[Springboot] 23. SpringApplication #2 Application Events and Listeners
1. SpringApplication Events and Listeners 일반적인 ContextRefreshedEvent 클래스와 같은 스프링 프레임워크 이벤트들뿐만 아니라 SpringApplication 클래스는 몇가지 추가적인 이벤트들을 전송합니다. 빈으로 등록할 수 없는 리스너 몇몇 이벤트들은 ApplicationContext가 생성되기 전에 발생됩니다. 그래서 이러한 이벤트들은 @Bean으로 등록할 수 없습니다. 대신 다음과 같은 방법으로 리스너를 등록합니다. SpringApplication.addListeners() 메서드를 이용한 방법 SpringApplicationBuilder.listeners() 메서드를 이용한 방법 META-INF/spring.factories 파일에 리스너 참조를 추..
2022.10.13 -
[Springboot] 23. SpringApplication #1 Banner, Customizing
SpringApplication의 실행 SpringApplication 클래스는 main() 메서드로부터 시작된 스프링 애플리케이션을 실행시키는 간단한 방법을 제공합니다. 제일 간단한 방법은 다음과 같이 스프링 애플리케이션 실행을 SpringApplication 클래스에게 위임합니다. public static void main(String[] args) { SpringApplication.run(MySpringConfiguration.class, args); } SpringApplication을 실행하면 다음과 같은 결과가 출력됩니다. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ ..
2022.10.12 -
[Spring] ResourceLoaderAware 인터페이스
1. ResourceLoaderAware 인터페이스는 무엇인가? ResourceLoaderAware 인터페이스는 ResourceLoader 참조가 될 컴포넌트를 식별하는 콜백(callback) 인터페이스입니다. 다음은 ResourceLoaderAware 인터페이스의 정의입니다. public interface ResourceLoaderAware { void setResourceLoader(ResourceLoader resourceLoader); } 한 클래스가 ResourceLoaderAware 인터페이스를 구현하고 ApplicationContext에 배포되면 ApplicationContext에서 ResourceLoaderAware로써 인식됩니다. 그런 다음 ApplicationContext는 setRes..
2022.10.04 -
[Spring] ResourcePatternResolver 인터페이스
1. ResourcePatternResolver 인터페이스는 무엇인가? ResourcePatternResolver 인터페이스는 ResourceLoader 인터페이스를 상속받은 확장판 인터페이스입니다. ResourcePatternResolver 인터페이스의 getResources 메서드는 매개변수로 문자열 타입의 위치 패턴(locationPattern)을 입력받아 해당 패턴에 만족하는 자원들을 가져오는 기능입니다. ApplicationContext 인터페이스는 ResourcePatternResolver 인터페이스를 상속받기 때문에 getResources 메서드를 호출하여 여러 자원들을 가져올 수 있습니다. ResourcePatternResolver 인터페이스 정의 public interface Resour..
2022.10.03