스프링 컨테이너의 구동
1. web.xml : Tomcat-Servlet Container 구동
추가 xml로 읽어라
2. 스프링컨테이너 생성
Spring Container를 생성
root-context.xml을 읽는다 (설정파일)
servlet-context.xml을 읽는다 (어플리케이션 요청 처리 설정파일)
root-context.xml과 servlet-context.xml이 절대적인 건 아님 (다른 파일 생성해서 경로명 변경해도 가능)
하지만 스프링이 권장하는 방식
스프링 컨테이너는 자기 영역을 가지고 있음
빈태그를 자기 영역에 인스턴스로 만들어서 로딩
제어의 역전 , 빈을 미리 만들어놓고 언제 사라질지 싱글턴일지 자기가 결정
쓰고 싶을때 오토와이어드 어노테이션으로 찾아씀
검색은 디팬던시룩업 (웹환경에서는 쓰기 번거로움)
네이티브 프로젝트
스프링 컨테이너 생성 (영역과 빈 인스턴스 미리 생성)
TV 타입인 애를 검색 // DL
인스턴스 담고 사용
웹 프로젝트에서는 web.xml에서 스프링컨테이너 생성
점을 찍을 변수가 없음 (getBean 할 변수가 없다)
-> 방법이 불가능 하진 않지만 불편
오토와이어드로 디팬던시 인젝션 사용
Q.
스프링 풀에 인스턴스 만들기
- 컴퍼넌트 Annotation 을 붙이고 컴포넌트 스캔을 돌리면 인스턴스를 만드는 작업
- XML에 빈태그로 써서 인스턴르를 반드는 작업
XML : 기능
Annotation : 편의성
루트 컨텍스트는 비어져 있다
서블릿-컨텍스트
리턴 = 포워드
뷰리졸버가 앞뒤로 prefix suffix
빈태그는 스프링컨테이너의 풀 에다가 인스턴스를 미리 만들어 놓자는 의미
우리가 만들어서 사용하는 인스턴스도 있고
뷰리졸버 처럼 만들어만 놓으면 스프링이 알아서 사용하는 인스턴스도 있다.
component-scan
해당 패키지에서 컴포넌트를 찾는다
컴포넌트와
컴포넌트어노테이션을 상속받은
컨트롤러, 서비스, 리파지토리 어노테이션도 스캔되어 스프링풀에 인스턴스가 된다.
컨트롤러 역할의 경우, 꼬리표 달아놓음
클라이언트가 요청시
요청을 처리할 대상을 찾아야함
컨트롤러 외에 다른 인스턴스 뒤지는 것은 낭비
바로 찾을 수 있게 컨트롤러에는 꼬리표
홈컨트롤러가 요청 처리후 "home" 리턴
뷰페이지 이름을 처리 해 줄 수 있는 인스턴스는?
VR 뷰리졸버가 "home" 앞뒤에 프리픽스 처리 -> JSP로 가는 경로 완성
'디지털 컨버전스 > Spring' 카테고리의 다른 글
[Spring Framework] ojdbc6, DBCP 추가 방법 (0) | 2020.05.29 |
---|---|
[Spring Framework] forward/redirect , 매개변수, Dynamic Type Binding (0) | 2020.05.29 |
[Spring Framework] (0) | 2020.05.29 |
[Spring Framework] 서버 연결 (0) | 2020.05.27 |
[Spring Framework] Spring MVC (0) | 2020.05.27 |