spring 3

[Spring] Spring Container란?(feat: DI, IOC, Singleton)

DI, Ioc, Singleton, Bean 등 Spring을 공부하는 사람이라면 한 번쯤은 들어봤을 내용입니다. 저 또한 Spring을 처음 공부할 때, 블로그나 강의에서 많이 듣곤 하였습니다. Spring boot를 사용할 때 이러한 개념들이 헷갈려서 정리하려고 합니다. 이 글에서는 엄청 자세하게 이야기를 하지 않으려고 합니다. 제가 공부하면서 헷갈렸던 부분이나, 연관성이 어떻게 있는지에 대해서 풀어보려고 합니다. 자세한 내용이 궁금하시면 '김영한님의 스프링 핵심원리 기본편'을 들으시는 것을 추천드리겠습니다. Spring Container Spring Container는 쉽게 말해 객체를 관리해주는 컨테이너라고 생각하면 됩니다. 아무 객체나 관리해주는 것이 아니라, 당연히 개발자가 해당 객체를 관리해..

Spring 2023.01.17

[Jackson] 왜 field가 1개인 DTO는 기본 생성자가 필요할까?(1)

API server를 개발하면서 DTO를 이용해서 client으로부터 request를 받거나 server내의 다른 layer로 넘기곤 합니다. Spring boot를 이용하여 프로젝트를 할 때도 DTO를 이용하여 데이터를 주고받곤 하였습니다. client가 Content-Type을 application/json 형태로 요청을 할 경우, Node.js 기반의 express 와 Nest.js와는 다르게 Spring boot는 Json을 객체로 변환시켜주는 과정이 필요합니다. 이 때, jackson library가 json을 객체로, 객체를 json으로 변환해줍니다. Jackson library는 별도로 설치할 필요가 없고 spring web mvc dependency를 설치하면 자동으로 설치가 됩니다. sp..

Spring 2022.12.15

[Lombok] Lombok에서 생성자 Annotation에 대해 알아보자

Spring 을 이용해서 프로젝트를 하면 Annotation을 이용해서 쉽게 코드를 작성할 수 있는 lombok 라이브러리를 사용하곤 했습니다. 수 많은 Annotation이 있다보니 정확히 내부적으로 어떻게 동작하는지도 모르고 종종 사용하였습니다. spring의 생성자 주입과 관련된 생성자 annotation에 대해서 헷갈려 정리하려고 합니다. 생성자 관련 Annotation 종류 Lombok에서 생성자 관련 Annotaion은 3가지가 있습니다. @AllArgsConstructor @RequiredArgsConstructor @NoArgsConstructor 하나씩 어떤 조건의 생성자를 만들어주는지 확인해 보겠습니다. @AllArgsConstructor 영어 뜻 그대로 모든 argument를 가지고 ..

Spring 2022.10.29