inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

상품 목록 - 타임리프

생성자 주입과 스프링 빈 질문 있습니다.

316

blackhole124

작성한 질문수 60

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
스크린샷 2023-09-17 오후 6.17.50.png강의에서 강사님께서

1.BasicItemContorller가 스프링 빈에 등록이 되면서

2.생성자 주입으로 스프링 빈으로 등록되어 있는 ItempRepository가 스프링 빈에서 주입이 된다.

이렇게 말씀하셨는데 아래와 같이 이해를 했는데 옳게 이해한 것이 맞나요?

  1. 스프링이 실행이 되면 컨테이너에서 관리하는 빈 객체가 생성된다. ( @Controller, @Service,@Respository @Component)

    즉, 위의 예시에서는 BasicItemContorller 빈과 ItempRepository빈을 생성함

2.@Autowired라는 어노테이션을 이용해서

ItempRepository빈을 BasicItemContorller클래스에게 의존성 주입을 하게 만든다.

이때, 의존성 주입을 하는 방법은 생성자와 @Autowired가 필요하다.

3.위와 같은 과정을 거치면 스프링 컨테이너 안에 ItempRepository빈과 BasicItemContorller빈이라는 객체가 생성되고 ItempRepository 객체는 BasicItemContorller객체에 의존하게 된다.

이런 순서로 이해하면 옳게 이해한 것이 맞나요?

 

spring mvc

답변 1

0

나무늘보

안녕하세요. blacnkhole124님, 공식 서포터즈 코즈위버입니다.

네 이해하신 내용이 맞습니다 :)

조금 더 심화하면, BasicItemController 가 나중에 생성되고 ItemRepository가 먼저 생성된다고 유추할 수 있습니다. BasicItemController를 생성하려면 반드시 ItemRepository가 필요하지요. 그래서 BasicItemController 생성을 뒤로 미루고 ItemRepository를 생성하려고 합니다. 만약 ItemRepository로 생성자로 의존성을 주입받고 있다면 그 객체를 먼저 생성하여 빈으로 등록하려고 할것이고요. 이처럼 생성자를 통한 의존은 생성과 의존성 주입이 명확하게 분리되지 않고 복합적으로 발생할수밖에 없습니다.

감사합니다.

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