안녕하세요 기선님 서블릿 어플리케이션 구조에 대해 질문드립니다
276
20 asked
이전에 기선님 강의인 스프링 웹 MVC를 수강하고 스프링 부트를 수강중입니다.
MVC 강의에서는 스프링 부트 없이 진행했던 터라 궁금증이 생겨 질문 드립니다.
(사진 첨부가 되지 않아 사진 URL을 등록했습니다.)
기존 MVC방식에서 서블릿 프로그램에서 스프링의 기능을 붙여가며 학습을 했을때 제가 생각한 이미지는 이러한 이미지 였는데요
스프링 부트를 적용해도 이와 동일한 이미지로 이해하면 될까요?
제가 선생님 강의를 듣고 이해하기로는 스프링 컨테이너와 서블릿 컨테이너는 별개이고,
컨텍스트 로드 리스너에 의해 Controller, ViewResolver, HandlerMapping과 같은 '빈'들은 root ApplicationContext에 접근 가능한 ServletContext에 등록이 되고 Service, Repository와 같은 빈들은 root ApplicationContext에 등록이 된다고 생각했는데요 맞는지 궁금합니다.
또 하나 질문을 드리자면 서블릿 컨텍스트는 톰캣에 의해 생성이 되어지는데
ApplicationContext는 DispatcherServlet을 통해 인스턴스화 된다
라는 내용을 봐서 그럼 스프링 IoC컨테이너를 서블릿 컨텍스트가 로드하는건가..? 라는 생각을 했는데 혹시 맞을까요?
질문이 길어서 죄송합니다. 좋은 강의 내주셔서 학습에 큰 도움이 되고있습니다 🙏
Answer 1
3
스프링 부트 이전에 스프링 웹 프로젝트에서 스프링 컨테이너를 구성하는 방식을 그림으로 그려주셨는데요. 그 방법은 스프링 부트와는 많이 다릅니다. 스프링 부트는 "내장 웹 서버"에서도 설명하고 있지만 자바 애플리케이션 내부에 톰캣과 같은 서블릿 컨테이너를 만들고 그 안에 스프링 IoC 컨테이너를 하나만 만들어 쓰지만, 이전에는 (이전 방식은 몰라도 상관이 없지만..) 외부에 서블릿 컨테이너가 이미 떠있고, 그 안에 WAR로 패키징한 서블릿 애플리케이션을 배포하는 형태이고, 해당 애플리케이션의 web.xml 이나 자바 설정으로 두 개의 스프링 컨테이너가 상속 구조를 만드는 형태로 구성되어 있었습니다.
두번째 질문에서 서블릿 컨텍스트가 스프링 IoC 컨테이너를 만드는 것이 아니라 DispatcherServlet이 만들어 준다고 이해하시는게 맞습니다.DS도 결국에 서블릿이고 해당 서블릿을 초기화 하는 중에 스프링 IoC 컨테이너가 만들어 집니다.
자동설정 만들기 1부의 Holoman 관련 문의 드립니다.
0
84
1
라이브러리 개발 예제 강의를 찾습니다 !!!
0
225
2
강의 진행되로 똑같이 했는데 jquery가 실행되지 않았는데
0
309
1
HateOas 가 업데이트가 되어서, "Spring HATEOAS" 코드를 아래처럼 하셔야 될겁니다.
0
364
2
springSecurit jwt에 대해서 질문드립니다.
0
343
1
섹션2 자동설정 부분 질문있습니다.
0
247
1
mongo shell 명령어 대체 mongo -> mongosh
0
1012
1
데이터베이스 마이그레이션 강의에서 질문 있습니다
0
707
0
자동 설정 만들기 2부에서 질문 있습니다
0
413
1
의존성 관리 응용 부분에서 질문 있습니다
0
321
0
Intellij 에서 빈 주입할때 계속 빨간줄이 뜨는데 어떻게 고쳐야 할까요
0
1183
1
자동설정으로 다른 프로젝트 빈 사용(번외질문)
0
362
0
CREATE TABLE 예제 따라하다가 'expected "identifier"; SQL statement:' 오류나는 경우
2
2210
2
junit5 관련하여 질문드립니다.
0
307
2
맨 처음 프로젝트 생성 후 Run 시 에러
0
535
2
외부 설정과 관련된 질문입니다.
0
254
1
test와 runner account.setEmail에 동일한 값 입력
0
323
1
컨트롤러 view 호출
0
264
1
JVM 과 arguments 는 뭔가요???
0
1167
1
pom 테그 에러
0
355
1
안녕하십니까 기선님!!!!! webclient와 비동기관련 질문요청드립니다
0
1551
1
webEnvironment 내장 톰캣
0
225
1
application.yml 파일 분리
0
387
1
안녕하세요 질문이 있습니다. :)
1
199
1

