본문 바로가기

TIL

정의, 왜, 어떻게(22.09.24TIL)

 

오늘 하루종일 스프링 강의를 듣고 인출해보는 시간을 가졌다. 어제 면접 인터뷰에서 집중해야 하는 3요소인  정의, 왜, 어떻게를 여기에 적용해보기로 했다. 정의는 아직 개념정리를 시작하지 않아서 확실하게 말할 수 없지만 오늘 느낀 왜 그리고 어떻게 사용할까?를 한번 정리해보려고 한다.

왜 쓰는가?

저번주차 HTTP Server에서는 path와 HTTP Exchange라는 핸들러를 이용해서 하나하나 우리가 직접 메서드로 페이지를 처리해주어야 했다. 하지만 스프링에서는 @getMapping, @postMapping등을 이용해 손쉽게 path와 응답 처리를 진행할 수 있다. 그리고 MVC패턴을 적용해 모델, HTML문서를 보여주는 뷰, 특정 path와 method를 처리하여 응답을 돌려주는  컨트롤러로 철저히 관심사의 분리가 가능하다. 역할이 분명하게 나눠지니 테스트 코드를 짤때도 어떤것을 짜야하는지 덜 헤맬 수 있었다.

어떻게 쓰는가?

사실 스프링 어노테이션들을 많이 학습하지 않아서 자세하게는 적지 못하지만 오늘 배운 Spring 어노테이션의 큼지막한 골자는 아래와 같다.

@SpringBootApplication -> @bean 메서드를 선언하는 configuration 클래스. auto-configuration과 component Scanning을 촉발한다.

@Controller -> View에 대한 처리를 할 수 있다. @RestController의 경우 응답에 대한 처리까지 지정해줄 수 있다.

@get(or post)Mapping("path") -> GET(or POST) path 요청에 응답하는 action 메서드를 제공한다.

@WebMvcTest -> 컨트롤러 테스트에서 MockMvc를 이용하여 응답을 직접 보고 처리할 수 있는 메서드를 제공한다.

3. 액션플랜

오늘 스프링을 보면서 느낀 점은 이전까지 배웠던 관심사의 분리의 끝판왕이라는 느낌이 들었다. 강의 중간에 Componenet에 대한 언급이 있었는데 이 부분에 대해서 좀 더 깊게 파보고자 한다. 거기에 스프링은 어노테이션이 굉장히 중요한 역할을 하므로 중요한 어노테이션 정리해보고자 한다., 내일 개념정리를 하면서도 정의, 왜 쓰는가, 어디에 쓰는가를 분류해두고 3가지 요소를 전부 채우는 개념노트를 작성해야겠다.

'TIL' 카테고리의 다른 글

검증된 것(22.09.26TIL)  (0) 2022.09.26
다시 느낀 스프링(22.09.25TIL)  (0) 2022.09.25
면접(22.09.23TIL)  (1) 2022.09.23
데드라인(22.09.22TIL)  (0) 2022.09.22
고집 버리기(22.09.21TIL)  (0) 2022.09.21