인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

inust33's profile image
inust33

asked

Toby's Spring Boot - Understanding and Principles

Introducing a postprocessor for property beans

코틀린으로 강의 따라하시는 분들이 계시다면 참고하세요. no-arg 설정이 필요합니다.

Resolved

Written on

·

829

·

Edited

4

 BeanPostProcessor는 매개변수가 없는 no-arg 생성자를 필요로 하는데요, 자바의 경우 굳이 매개변수를 생성자에서 주입하지 않아도 되지만 코틀린의 경우 JPA 엔티티나 현재 강의의 ServerProperties처럼 프로퍼티값을 읽어들여 객체를 생성하는 경우 생성자 파라미터를 보통 사용하실 텐데요,

이 경우 따로. noarg 생성자가 만들어지지 않기 때문에 BeanPostProcessor가 디폴트 생성자를 만들어낼 수 있도록

kotlin("plugin.allOpen") kotlin("plugin.noArg")을 이용해서 @Component 어노테이션으로 빈에 대한 no-arg 기능을 활성화해야합니다.

gradle에서 다음과 같이 plugin을 포함하시구요

plugins{
  kotlin("plugin.noarg") version "1.7.22"
  //jpa를 사용하신다면 kotlin("plugin.jpa")에 포함되어 있습니다.
} 

아래에 Component 어노테이션에서 no-arg가 활성화될 수 있게 해당 부분을 적어주시면 됩니다.

noArg {
    annotation("org.springframework.stereotype.Component")
}

all-open, no-arg 등의 플러그인에대한 더 자세한 설정에 대해서 궁금하시다면 아래 글을 참고하시면 좋습니다.
https://techblog.woowahan.com/2675/

spring-bootspringspring-jdbc

Answer 1

5

tobyilee님의 프로필 이미지
tobyilee
Instructor

코틀린으로 예제를 해보시는 분들에게 도움이 되는 내용이네요. 감사합니다.

아직 코틀린으로 강의 예제를 해보지 않았는데 한번 작성하면서 필요한 팁을 정리해서 공유해보도록 하겠습니다.

inust33's profile image
inust33

asked

Ask a question