스프링(14)
-
스프링 공식 문서 뿌수기(4), Spring MVC의 Annotated Controllers - DataBinder
원래는 중간에 exceptionHandler가 있지만 이전 내용에서 DataBinder에 대한 내용이 있어서 먼저 정리했다. DataBinder DataBinder는 이름에서도 알 수 있듯이 Request parameters를 모델에 바인딩하는 역할을 하는 것이다. @InitBinder는 WebDataBinder를 초기화하는 역할을 한다. 즉, @InitBinder 어노테이션을 가진 메서드를 사용한다면 데이터를 모델로 바인딩할 수 있다. @RequestParam이나 @PathVariable, @ModelAttribute 어노테이션들은 request로 전달받은 값을 다른 타입으로 바인딩을 해주는 과정을 거친다. 이때 WebDataBinder라는 것을 만들어서 전달받은 값을 매핑하게 된다. @InitBind..
2023.04.22 -
23년 04월 21일, 일일 회고
Fact (사실: 무슨 일이 있었나?) 자바 공부 - 웹 자동차 경주 step 2 미션을 수행하고 제출했다. - Spring Annotated controller 중 RequestMapping 파트와 DataBinder 파트를 공부하고 정리했다. - JDBC 템플릿을 간단하게 알아봤다. - MVC 중 각 계층을 나타내는 어노테이션(@Controller, @Service, @Repository)에 대해 간단하게 알아봤다. - 브리 강의를 들으며 Layered 아키텍처에 대해 조금 찾아봤다. 개인 성장 - 오늘 술을 안마셨다. 영양제도 먹었다. - 네트워크 스터디를 했다. 지하철 출근길에 네트워크 DNS 서버의 동작 원리에 대해 마저 공부했다. - 간단하게 몸풀기 운동을 했다. 짧게 했음에도 예전에 비해서 ..
2023.04.22 -
스프링 공식 문서 뿌수기(3), Spring MVC의 Annotated Controllers - RequestMapping
이전 글에 이어서 Annotated Controllers의 RequestMapping에 대해 본격적으로 글을 작성해보려고 한다. Request Mapping @RequestMapping 어노테이션은 요청받는 URL 주소를 매핑해주는 역할을 한다. 일반적으로는 메서드보다는 Controller 클래스에 직접 어노테이션을 붙여서 url 주소를 매핑하는 역할을 한다. 메서드에는 조금 더 명확하게 이를 표현하기 위해 @GetMapping이나 @PostMapping 어노테이션으로 Http 메서드까지 포함한 어노테이션을 사용하는 것이 좋다. @RequestMapping: 일반적으로 클래스에 붙인다. @GetMapping, @PostMapping: 메서드에 붙인다. @GetMapping과 @PostMapping은 @R..
2023.04.21 -
Spring에서 @RequestBody로 전달받는 객체의 필드에 final 키워드를 붙일 수 있을까?
앞으로는 미션을 진행하며 피드백을 받거나 궁금했던 내용 중 조금 깊게 찾아봤던 내용들에 대해 한번 글을 작성해보려고 한다.(그래서 잘못 작성된 내용도 좀 있을 수 있다. ㅎㅎ) 그 중 첫번째는 바로 @RequestBody 어노테이션에 관한 내용이다. ㅎㅎ 이번에 웹 자동차 게임 미션을 진행하고 가장 첫번째로 받았던 질문은 다음과 같다. 참고로 위에 내가 한 답변 중에 틀린 내용도 있었다. ㅎㅎ 질문을 받은 코드는 다음과 같다. GameRequest 클래스는 다음과 같이 사용된다. Controller 내부에서 PostMapping을 전달받을 때 사용되는 dto 객체이다. 리뷰어께서 질문 주셨던 부분은 파일 전체적으로 필드 내부에 final 키워드를 사용하고 있지만, GameRequest에서만 final 키..
2023.04.18 -
23년 04월 17일, 일일 회고
Fact (사실: 무슨 일이 있었나?) 자바 공부 - 스프링 @RequestBody에 대해 조금 공부했다. - 스프링 Annotated controller에 대해 공부했다. component 어노테이션과 ComponentScan 등에 대해 정리했다. - 레벨 2 웹 자동차 경주 게임 미션 step 1을 정리한 뒤에 다시 리뷰 요청을 보냈다. 개인 성장 - '성공과 실패를 결정하는 1 의 네트워크 원리' 책 중 story 1을 스터디했다. 개인적으로 읽어간 뒤 가서 발표를 하는 식인데 나는 듣기만 했다. 커뮤니티 - 서울단후회 멤버들과 회식했다. - 우테코 근로 역할을 정했다. 나는 그레이와 함께 영상 기획을 맡기로 했다. Feeling (느낌: 무슨 느낌이 들었나?) - 사실 오늘 하기로 했던 내용은 다..
2023.04.17 -
스프링 공식 문서 뿌수기 (1), 아니 그래서 Spring이 뭔데?
우테코 레벨 2부터는 스프링 프레임워크를 사용한다. 이번 미션을 진행하면서 스프링 프레임워크에 대해 잘 모른다는 생각이 들어 공식 문서를 한번 정리해보고자 한다! Spring Framework Overview 스프링 프레임워크의 현재(2023년 04월 14일 기준) 버전은 6.0.8이다. 스프링 프레임워크는 Java 언어가 어플리케이션을 만드는데 도움을 주는 도구로 생각하면 된다. 주의할 점은 스프링 프레임워크 6.0 버전 이후에는 Java 17 이상을 필요로 한다. 이 때문에 최근 프로젝트를 진행할 때에는 Java 17로 작업을 진행했는데 11버전만 쓰다가 17버전을 쓰니 Record도 새롭게 등장하고, 프로퍼티 설정 등에도 차이가 나서 이를 관리하기 다소 어려웠다. Spring이 무슨 의미야? The..
2023.04.14