[23기_최승원] spring tutorial 미션 제출합니다.#2
[23기_최승원] spring tutorial 미션 제출합니다.#2Seungwon326 wants to merge 4 commits intoCEOS-Developers:Seungwon326from
Conversation
| 1. `@Primary` 사용: 우선순위 정하기 | ||
| 2. `@Qualifier` 사용하기: 이름표 붙이기 | ||
| - 주입받는 시점에 이름표를 가진 빈을 명시하는 방법 | ||
| 3. List, Map 사용: 모두 다 가져오기 | ||
| - 모든 구현체를 다 가져와 상황에 맞게 골라 쓰고 싶을 때 사용 |
There was a problem hiding this comment.
저는 선택부분이라 스킵했는데... 승원님이 작성해주셔서 어떻게 주입해야하는지 알게 되었습니다! 😄
이미 너무 잘 알고 계신 부분이라 조언이라 하기에는 부끄럽지만
동일 타입의 빈(Bean)이 여러 개일 때 구분하여 주입하기
[ List, Map으로 빈 주입 받기]
저는 여기서 도움이 많이 되어 링크 첨부해드립니다!
There was a problem hiding this comment.
링크 올려주셔서 감사합니다!!
덕분에 이해하는데 도움 많이 됐습니다!!🤗
Hoyoung027
left a comment
There was a problem hiding this comment.
꼼꼼히 과제를 수행해주셨네요 잘 읽었습니다 👍
1주차 과제 수고 많으셨습니다!!
| <img width="1884" height="922" alt="Image" src="https://github.com/user-attachments/assets/01934fdd-0ca5-4723-93eb-ca52153a4719" /> | ||
|
|
||
| 1. **클라이언트 요청:** 사용자가 웹브라우저나 앱을 통해 HTTP 요청을 보내고 가장 먼저 **Dispatcher Servlet**이 요청을 받음 | ||
| 2. **Handler Mapping:** Dispatcher Servlet은 이 URL 주소와 HTTP 메서드(GET, POST 등)를 처리할 컨트롤러가 누구인지를 찾기 위해 **Handler Mapping**에 조회를 요청 |
There was a problem hiding this comment.
Controller만 찾는걸까요?
doDispatch() 메소드에 존재하는 mappedHandler 변수의 자료형에 대해서 공부해보시면 좋을 것 같습니다!
|
|
||
| 1. 사용자(클라이언트)가 URL을 입력하면 HTTP Request가 servlet Container로 전송 | ||
| 2. 요청을 전송받은 Servlet Container는 HttpServletRequest, HttpServletResponse 객체를 생성 | ||
| 3. web.xml을 기반으로 사용자가 요청한 URL이 어느 서블릿에 대한 요청인지 찾음 |
There was a problem hiding this comment.
요건 조금 레거시 코드 기준의 이야기인거 같은데요, 과거에는 xml 코드를 작성하여 기능 단위로 서블릿 자체도 분리해서 전달을 해줬다고 합니다!
다만, 최신의 코드들은 DispatcherServlet을 단일 서블릿으로 활용하는 경우가 많고 그 안에서 적절한 핸들러를 매핑하도록 바뀐 듯 해요!
@SpringBootApplication 코드 내부에 들어있는 @EnableAutoConfiguration 어노테이션의 동작을 살피시면 이러한 동작을 자세히 살펴보실 수 있을 것 같습니다 ㅎㅎ
| - ### **Dispatcher Servlet** | ||
| - **Dispatcher Servlet**: 모든 HTTP 요청을 가장 먼저 받아 적절한 컨트롤러로 배분하는 중앙 컨트롤러(Front Controller) | ||
| - **중앙 집중 제어:** 모든 요청의 입구 역할을 하여 보안, 로깅, 인코딩 등의 공통 로직을 한곳에서 처리 | ||
| - **어댑터 역할:** 다양한 방식(애노테이션 기반, 인터페이스 기반 등)으로 작성된 컨트롤러를 유연하게 호출 |
There was a problem hiding this comment.
컨트롤러를 작성하는 다양한 방식은 무엇이고, 우리는 어떤 방식을 잘 활용하게 될까요? ㅎㅎ
| - **Dispatcher Servlet**: 모든 HTTP 요청을 가장 먼저 받아 적절한 컨트롤러로 배분하는 중앙 컨트롤러(Front Controller) | ||
| - **중앙 집중 제어:** 모든 요청의 입구 역할을 하여 보안, 로깅, 인코딩 등의 공통 로직을 한곳에서 처리 | ||
| - **어댑터 역할:** 다양한 방식(애노테이션 기반, 인터페이스 기반 등)으로 작성된 컨트롤러를 유연하게 호출 | ||
| - **뷰 렌더링 중계:** 컨트롤러가 반환한 논리적인 뷰 이름을 실제 화면으로 연결 |
There was a problem hiding this comment.
REST API에서 뷰 렌더링은 어떻게 처리되고 있을까요?
@Controller, @RestController 사용에 따른 doDispatch()의 동작 차이를 확인해보시면 좋을 것 같습니다!
No description provided.