반응형

스프링부트 2

@Builder 어노테이션

스프링을 사용하면서 엔티티를 작성할때 @Bulder 어노테이션을 붙였었는데, 다른 코드를 살펴보니 @Builder(builderMethodName = "entityBuilder", toBuilder = true) 이런식으로 @Bulder 어노테이션 옆에 속성값도 붙이는 경우가 있다는 것을 알게 되었다. @Bulder 어노테이션에 속성을 안붙이고 그냥 사용하던 나는 이 옵션이 왜 사용되는지 궁금해져서 검색하게 되었다. 1. builderMethodName 해당 속성은 빌더 패턴을 위한 메서드의 이름을 지정한다. 기본적으로 Lombok의 @Builder 는 'builder()' 라는 정적 메서드를 생성하는데, 만약 자기가 직접 커스텀한 이름을 짓고싶다면 해당 속성을 이용하여 변경해줄 수 있다. 예를들어, 위..

@Valid 어노테이션

api를 만들 때, 서비스 부분에서 예외처리를 했었는데, nestjs 를 사용할때처럼 기본적으로 null값이나 blank를 자체적으로 exception 이 되도록 하는 방법은 없을까 생각하는 찰나에 @Valid 어노테이션에 대해 알게 되었다. @Valid 어노테이션은 @Valid , @Validated 두가지가 존재하고, 이 두개의 어노테이션을 이용하면 내가 서비스에서 예외처리 코드를 만들지 않아도 null 또는 blank, 길이 등에 대해 오류가 발생하면 자체적으로 예외처리가 된다. 아래에서 예제를 들어보겠다. 1. 디펜던시 추가 gradle 에 해당 디펜던시를 추가하여 어노테이션을 사용할 수 있도록 설정한다. 먼저, gradle에 해당 디펜던시를 추가한다. implementation 'org.spri..

반응형