inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

스프링 MVC 전체 구조

Spring MVC 구조에서 IoC 개념이 적용되는 건가요?

377

c4nyou

작성한 질문수 2

0

안녕하세요 강사님! Spring MVC 구조에 대해 공부하다가 궁금한 것이 있어서 질문드립니다.

DispatcherServlet에서 핸들러 어댑터를 호출하고

핸들러 어댑터에서 저희가 구현한 핸들러(컨트롤러)를 호출해서 사용하는데

여기서 '스프링 프레임워크에서 사용자가 구현한 코드를 호출한다.' 라는 관점으로 보았을 때 IoC 개념이 적용되었다고 봐도 될까요?

 

spring mvc

답변 2

0

David

안녕하세요. c4nyou님, 공식 서포터즈 David입니다.

네, 맞습니다:)

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요. Spring MVC 구조에서 IoC(Inversion of Control) 개념이 적용되는 건지에 대해 여쭤보셨는데요.

IoC는 객체의 생성과 관리를 개발자가 직접하지 않고, 프레임워크가 대신 처리하는 개념입니다. Spring 프레임워크는 IoC 컨테이너로서 자체적으로 객체의 생명주기를 관리하고 필요에 따라 객체를 생성하고 주입해줍니다.

Spring MVC에서는 DispatcherServlet을 통해 클라이언트의 요청을 받고, 해당 요청을 처리할 컨트롤러 객체를 찾아서 호출합니다. 이때 컨트롤러 객체는 스프링의 IoC 컨테이너에 의해 생성되고 주입되는데, IoC 컨테이너는 스프링의 설정 파일에서 빈(bean)으로 등록된 컨트롤러 객체를 찾아서 생성하고 주입해줍니다.

따라서 Spring MVC 구조에서는 IoC 개념이 적용된다고 볼 수 있습니다. 개발자는 컨트롤러 객체를 직접 생성하거나 관리하지 않고, 스프링 프레임워크에서 생성 및 관리를 대신 수행하므로 의존성 주입(Dependency Injection)이 가능해집니다.

하지만 주의해야 할 점은 Spring MVC에서 IoC 개념이 적용되는 범위가 컨트롤러 객체에만 국한되는 것이 아니라는 점입니다. IoC 컨테이너는 전체 애플리케이션의 객체 생성과 관리를 담당하기 때문에 컨트롤러 외의 서비스 객체, DAO 객체 등도 IoC 컨테이너에 의해 생성되고 주입됩니다.

따라서 Spring MVC 구조에서는 IoC 개념이 전체 애플리케이션에 적용되며, 개발자가 직접 객체의 생성과 관리에 신경 쓰지 않고 개발에 집중할 수 있도록 도와줍니다. 이렇게 구현된 Spring MVC 구조의 장점은 유지보수성과 확장성을 향상시킬 수 있다는 것입니다.

더 궁금하신 내용이 있으시면 언제든지 물어보세요~요.

servlet과 container에 대한 질문입니다

0

29

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

66

1

jsp 의존성 수정 요청

0

82

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

145

1

save() 메서드 문의

0

67

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

102

1

request-body-json

0

84

2

MVC 패턴의 적용 단위

0

97

1

RequestMapping을 이용한 핸들러, 어댑터

0

120

2

save 후 결과화면

0

91

2

jsp를 이용한 view

0

98

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

181

1

수업 코드 제공 관련 문의

0

98

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

102

3

파일 오픈 시

0

70

1

스프링 배치 관련

0

78

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

114

1

postman으로 /request-body-json-v1 호출시 500 error

0

96

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

82

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

113

1

console log 출력 관련 질문입니다.

0

75

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

140

1

html 변경하는 부분 적용 문제

0

103

1

한글 깨짐

0

77

2