롬복이 무엇인가 ?
보일러 플레이트 코드들을 자동으로 생성해주는 필수적인 library
build.gradle의 dependecies에 추가 . 설정이 필수적으로 같이 와야 됨.
앞서 작성했던 라인에서, dependices에 추가 혹은 spring.io에서 세팅 완료된 파일을 다운로드 .
setter , getter을
@Setter
@Getter로 class앞에 생성. -> 추가적인 메소드 작성이 필요없이, set,get등을 사용할 수 있다.
@ToString
-> class devdto를 그대로 sout으로 출력했을때, hash 코드 값이 출력되는데
이를 붙이면, 이에 맞는 시간과 , age등 형식에 맞추어서 출력된다.
생성자
@NoArgsConstructor -> argument가 없는 생성자
All시 모든, Required는 필요한 값만 담은 constructor
3가지 constructor 중 상황에 맞는 어노테이션을 달아서 , 생성한다.
@Nonnull이런건 당연히 가능하고.
@Data
-> 마법의 annotation . tostring,getter,setter,constructor,equal,hashcode들 모두를 담은 어노테이션
<그렇다고 무분별한 사용은 지양하자. 이유는 tostring을 원하지 않게 사용하는 경우가 있다. 특히 개인정보를 담을때 찍힘 방지! 아마 금융권에선 못 쓰지 않을까.. >
기본적으론 getter,setter,tostring,constructor를 사용하는것을 주로 하자 . (금융권 실무 손에 익히기 )
@Builder
-> setter를 자주 사용해야 되는 경우에, builder().firstname("~")~~~를 사용해서
직접 setter를 더이상 사용하지 않게 방지할 수 있다. <안전하다>
+@nonnull일수도 있다.
@S1f4j
log를 활용하여 logger를 찍어줄 수 있다. 예전 오픈채팅방에서 sout 보단 log를 찍어야 된다는 것을
배웠었다.
초 간단하게 log.info(getFirstname()) //class 내부에서 메소드 구현 후 예시
등이다.
@UtilityClass
public static void printLog() { sout } -> 유틸리티한 한 도메인에서 기능을 형성하는 anotation
더이상 상속받을 수 없다. final calss로 생성되어지는 등 기능이 있다.
유용하고 빠르게 lombok을 사용하자!
마제소바 먹다 생각난 질문
DTO랑 ENTITY는 뭐가 다를까?
DTO는 데이터의 전송을 위해 사용되는 객체로 , 이동을 중심으로 설계된다 .
하지만 ENTITY는 DBMS와의 상호작용을 위해 설계되는 도메인 모델이다!
Dto의 예시 . dto라는 패키지안에 , createdveloperclass안에서 request,response를 관리한다.
Dto의 response는 주로, builder를 사용하여 devleoper객체를 통해 request가 들어옴과 동시에
이를 service단에서 repository를 활용해서 save. 그후 Response.fromEntity(devloper)로 response를 생성한다.
즉 -> request,save,response 생성까지 1 transaction으로 한번에 발생한다.
'백엔드 > 스프링+boot' 카테고리의 다른 글
H2 database , DB활용 / Entity 추가 / Repository,service 간단 복습 (0) | 2023.12.27 |
---|---|
Controller , componet 어노테이션. CLASS, 컴포넌트, 모듈 . (0) | 2023.12.27 |
테스트 (0) | 2023.12.25 |
Controller (0) | 2023.12.21 |
Service (0) | 2023.12.21 |