WIL-20230416

이번 주 드디어 봄학기가 시작되었습니다.

제가 자바를 잘 못해서 좀 어지러워요.

Spring을 배우기 시작했을 때 Java를 사용하던 시간을 어떻게 할당할지 고민했습니다.

한 달 전쯤에 아무것도 이해가 안 될 때 천강의를 들었을 때 아무것도 이해가 안 되어서 알게 되었는데 자바 개념이었는데,

있긴 한데 객체지향 학습을 하다보니 스프링이 뭔지 어느 정도 이해가 된 것 같다.

Spring에 가보니 역시 Spring은 Java라는 것을 느끼기 때문에 시간을 들여 연구하는 것보다

Spring에 대해 적극적으로 배우면서 내가 몰랐던 Java 개념을 찾아보기로 했습니다.

항해에서 주어진 봄 주차 1주차 과제를 완수했고,

https://github.com/been1118/springPrac-crud

기본 CRUD를 처리하는 방법에 대한 내용입니다.

게시물을 작성, 검색, 편집 및 삭제하는 API를 작성했습니다.

PostMan을 사용하여 내 코드를 테스트할 때 정말 개발을 배우고 있는 것 같은 느낌이 듭니다.

클라이언트로부터 요청을 받으면 요청을 실행하고 응답을 클라이언트에 반환

DTO의 엔터티를 있는 그대로 반환하도록 요청하는 데 문제가 있습니다.

CRUD 부분은 수업을 듣고 나면 별 무리 없이 할 수 있는데, DTO에 넣고 돌려주는 게 조금 어려운 것 같다.

사실 처음에는 그런 요구 사항을 보지 못해서 api 명세 예제가 괜찮다고 생각하고 따라했습니다.

삭제할 섹션에 대한 응답 섹션

{“성공”: 참,}

그런가요.

그래서 이 둘을 HashMap 키값으로 저장해서 돌려줄까 고민했는데 Json 형식이 아니라서 원하는 결과를 얻지 못했어요.

또 다른 사람이 나를 도와줬고 내가 또 다른 DTO를 만들고 그 안에 값을 할당하고 반환할 수 있다고 말했습니다.

이게 꼭 필요한 건지 궁금했는데 엔터티를 있는 그대로가 아니라 DTO에 반환해야 한다는 요구사항을 봤습니다.

그래서 그의 도움으로 제네릭 타입 “D”를 통해 어떤 타입의 성공, 실패 데이터도 받아들일 수 있었고, 요구사항을 만족시키기 위해 메소드의 리턴 타입을 변경할 수 있었습니다.

또한 http 방식을 사용할 때 spring을 처음 배울 때 간단하게 내용을 정리하는 시간을 가집니다.

https://eastlight0418./43

https://eastlight0418./44

봄 – MVC, DI, IOC

웹 개발에 Spring Framework를 사용하는 것은 기본적으로 MVC 모델을 따릅니다.

MVC 패턴은 Model, View, Controller의 세 부분으로 나뉘며 역할이 구분됩니다.

역할 분담으로 인해 서로 간의 결합도가 낮습니다.

eastlight0418.