본문 바로가기

Development/Kotlin

Kotlin-Spring plugins

Kotlin이 Java와 100% 호환이 된다지만, 약간의 불편을 감수해야 하는 것 같다. 특히 뗄래야 뗄 수 없는 java-spring의 관계를 kotlin에서도 동일하게 가져가려면 좀 귀찮다.

 

spring의 구현 특성상 ltw가 많다. 그러나 kotlin의 클래스 확장 기본값은 final 이다. 때문에 spring에 의존적인 클래스는 대부분 open class 로 열어줘야한다.

 

이를 도와주기 위한 kotlin-spring plugins 이 있는데, 아래와 같다.

 

The plugin specifies the following annotations: @Component @Async @Transactional @Cacheable and @SpringBootTest. Thanks to meta-annotations support classes annotated with @Configuration @Controller @RestController @Service or @Repository are automatically opened since these annotations are meta-annotated with @Component.

 

결국, 위 Annotation이 없는 클래스는 open class 로 지정을 해주어야 한다는 점.

 

  • Bean을 Java 또는 Xml Config를 통해 정의 할 경우
  • @Async @Transactional @Cacheable 등을 Method Level에만 적용할 경우 등

 

약간의 불편함은 있지만 그래도 Kotlin을 쓰니 전체적인 코드생산성 측면에선 너무 좋으니께,,

'Development > Kotlin' 카테고리의 다른 글

코틀린 스터디 킥오프  (0) 2019.09.18