[Lombok] @Builder, DTO 접근제한자 적절한 설정 방법
·
Spring
@AllArgsConstructor 및 @NoArgsConstructor의 접근 제한 설정 방법 MSA(Microservices Architecture) 환경에서는 각 서비스가 독립적으로 동작하며, 데이터 및 객체의 무분별한 생성 및 변경을 방지하는 것이 중요하다. 따라서 @AllArgsConstructor 및 @NoArgsConstructor의 접근 제한자를 적절히 설정하여 객체의 생성 및 변경을 제어해야 한다. 1. @AllArgsConstructor (모든 필드를 포함하는 생성자)@AllArgsConstructor(access = AccessLevel.PROTECTED)설정 이유 1. 엔티티 객체의 직접적인 변경 방지 • 엔티티는 무분별하게 생성되거나 수정되어서는 안 되므로 **protected**..
[Lombok] Builder란? toBuilder를 사용해서 DB 내용 수정하기
·
Spring
toBuilder를 사용하기 전까지는 따로 method를 사용해서 기존 내용을 수정하고 Dirth Checking을 통해 DB내용을 수정하는 방식을 사용하였다.하지만 이 방식은 Setter메서드를 사용하는 방식이기 때문에 누군가 이 setter를 사용해서 값을 변경할 수도 있고, 안전하다고 느껴지지 않았다. 그래서 다른 방식을 찾아보고 @Builder에서 toBuilder를 속성으로 설정하면 해당 엔티티의 값을 편하게 수정 할 수 있다는 것을 찾아냈다! 우선 Builder 어노테이션에 대한 개념과 특징을 살펴보고 toBuilder 사용 방법을 알아보자.  Builder란?우선 우리가 자주 사용하는 보일러 플레이트 메서드(직접 코드를 작성하지 않아도 대신 작성해주는 메서드)인 Getter,Setter,Co..