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