일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 1034 램프 파이썬
- 프로그래머스 베스트앨범
- 가장 긴 팰린드롬 파이썬
- SQL SERVER MIGRATION
- 반도체 설계 파이썬
- 프로그래머스 여행경로
- 다중 컬럼 NOT IN
- 백준 2146 다리 만들기
- 프로그래머스 등굣길
- 백준 11054.가장 긴 바이토닉 부분 수열
- 백준 1167 트리의 지름 파이썬
- 램프 파이썬
- 트리의 지름 파이썬
- 프로그래머스 가장 긴 팰린드롬
- 등굣길 파이썬
- 프로그래머스 순위
- SWEA
- 베스트앨범 파이썬
- 백준 1516 게임 개발
- 다리 만들기 파이썬
- 백준 1043 거짓말 파이썬
- 게임 개발 파이썬
- 프로그래머스 순위 파이썬
- 순위 파이썬
- 백준 2352 반도체 설계 파이썬
- 역사 파이썬
- 백준 1238 파티 파이썬
- SQL SERVER 장비교체
- 가장 긴 바이토닉 부분 수열 파이썬
- 백준 1613 역사
- Today
- Total
공부, 기록
스프링 Context 본문
Context : Bean을 다루기 위한 Container 내부의 공간
Context의 구조
Application Context : 스프링 Context 기능의 중심인 최상위 인터페이스.
- BeanFactory 로서의 기능
- 파일 리소스를 일반적인 방식으로 로드하는 기능
- Environment 관련 기능
- 등록된 이벤트 리스너에게 이벤트를 발행하는 기능
- 다국화를 지원하여 메세지를 해석하는 기능
- 부모 Context로 부터 상속을 받음
AbstractApplicationContext : ApplicationContext을 구현한 추상 클래스로, 내부에 정의된 특수한 Bean들을 등록할 수 있다
GenericApplicationContext : Context로서의 기능을 거의 다 갖고있다. 주로 수동으로 직접 Bean을 등록할 때 사용한다.
XmlBeanDefinitionReader를 사용하여 xml 파일을 읽어와야 한다
Context의 종류
DispatcherServlet : Spring MVC에서 요청을 받는 부분으로 DispatcherServlet이 HandlerMapping을 통해 Controller로 매핑.
Root Context : 모든 서블릿이 공유할 수 있는 Bean들이 모인 공간. DB와 관련된 Repository나, Service 등이 있다.
Servlet Context : 서블릿 각자의 Bean들이 모인 공간. 웹 앱마다 한개씩 존재하므로, 웹 앱 그 자체를 의미하기도 한다.
이 컨텍스트 내의 Bean들은 서로 공유될 수 없다. MVC의 Controller(서블릿)이 이에 해당한다.
WebApplicationContext : 웹 애플리케이션에 특화된 Context.
ConfigurableWebApplicationContext : WebApplicationContext를 설정하는데 쓰이는 Context.
WebContext를 설정해야 할 때엔 Configuarble 클래스로 바꿔서 설정한다.
ContextLoaderListener 란?
스프링에서 사용되는 Context 간의 계층 관계를 연결해준다.
웹 어플리케이션이 시작되고 종료되는 시점에 Servlet Context가 생성하는 이벤트를 연결
Servlet WebApplicationContext 에서는 Root WebApplicationContext 를 참조 가능하지만, 그 반대로 참조 불가
참조 :
https://linked2ev.github.io/spring/2019/09/15/Spring-5-%EC%84%9C%EB%B8%94%EB%A6%BF%EA%B3%BC-%EC%8A%A4%ED%94%84%EB%A7%81%EC%97%90%EC%84%9C-Context(%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8)%EB%9E%80/
https://velog.io/@seculoper235/Spring-Core-Context-1%ED%8E%B8