일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- HATEOAS
- OAuth2
- WebApplication Type
- Spring Security
- 리소스핸들러
- JPA
- 리소스 서버
- @Profile
- JsonSerializer
- AuthenticationPrincipal
- cors
- HttpMessageConverters
- rest api
- 스프링부트
- webjar
- Application Runner
- 백기선
- 백트래킹
- application.properties
- 정적 리소스
- Application Argument
- 백준
- 다익스트라
- 스프링 부트
- 알고리즘
- 브루트포스
- EnableAutoConfiguration
- 외부설정
- Application Event
- @ConfigurationProperties
- Today
- Total
아카이브
[스프링 부트 개념과 활용] Application Event / Type / Argument / Runner 본문
[스프링 부트 개념과 활용] Application Event / Type / Argument / Runner
주멘이 2021. 1. 3. 14:291. Application Event Listener
ApplicationListener - Application 라이프사이클 시점에 따라 Event Listener를 등록할 수 있다
interface ApplicationListener를 implements
Listener가 Bean이라면, 등록되어 있는 Bean 중에 이벤트 리스너를 자동으로 실행된다
하지만 ApplicationStartingEvent의 경우 Bean으로 등록하더라도, Application context가 load되기 전이기 때문에 리스너가 동작하지 않는다
따라서 이런 경우에는 직접 등록해줘야 한다
2. Type
Type은 3가지로 구성되어 있다 (none, servlet, reactive)
Spring MVC가 존재하면 Servlet Type
Spring WebFlux가 존재하면, Reactive Type
MVC & WebFlux 모두 존재하면, 기본적으로 Servlet Type이지만 명시적으로 Reactive Type으로 실행 가능하다
3. Argument
-D는 JVM option --는 Application Argument
어떤 Bean의 constructor가 1개 && parameter도 bean 이라면, spring이 자동으로 Bean 등록을 한다
그래서 Application 실행과정에서 별다른 call를 하지 않았음에도 불구하고, 해당 출력이 보이는 것을 확인할 수 있다
4. Application Runner
ApplicationRunner run() will get execute, just after applicationcontext is created and before spring boot application startup.
Runner가 여러개일 경우 @Order를 통해 우선순위 지정이 가능하다
'Spring > 스프링 부트 개념과 활용' 카테고리의 다른 글
[스프링 부트 개념과 활용] Profile (0) | 2021.01.03 |
---|---|
[스프링 부트 개념과 활용] 외부설정1 - Application.properties (0) | 2021.01.03 |
[스프링 부트 개념과 활용] 독립적으로 실행 가능한 JAR (0) | 2021.01.03 |
[스프링 부트 개념과 활용] 내장 웹 서버의 이해 2 ( HTTP / HTTPS) (0) | 2021.01.03 |
[스프링 부트 개념과 활용] 자동 설정 @EnableAutoConfiguration (0) | 2021.01.03 |