Kotlin Annotations (Use-Site Targets)
About
Java로 Spring Framework를 사용해봤다면 알겠지만 어노테이션(@XXXX
)이 정말 많다. @Bean
, @Component
, @Service
, @Repository
, @Configuration
뿐 아니라 JPA와 Validation 등까지 추가하면 @Entity
, @Email
, @NotEmpty
등 다양하다. 사용 방식은 보통 클래스, 필드 등의 위에 적어주면 된다. 예를 들어 다음과 같은 DTO가 있다고 가정하자.
코틀린과 Spring을 사용할 때, 특히 validation 적용할 때 주의할 점은 필드 위에는 바로 어노테이션을 붙이는 것이 아니라 다음과 같이 타겟을 정해줘야 한다.
적용하려는 범위에 따라
@field
,@set
,@param
,@property
등이 있다.적용하려는 어노테이션이 여러 개 (e.g.,
@A
,@B
)라면@field[A B]
와 같이 구분자(,
) 없이[]
로 감싸주면 된다.
REF
Tistory - Logic to Core - 코틀린 6-7 Annotations - Use-site Targets
field, set, param, property 등 대상과 use-site target의 다양한 사용법을 포함하는 글.
Tistory - Bamdule - [Spring Boot] @Valid 어노테이션으로 Parameter 검증하기
java.validation의 어노테이션도 열거하고 있어 좋은 글.
Tistory - freddiey.log - Spring validation(with kotlin)
다국어처리, validator 설정도 포함하고 있는 글.
Last updated