인프런 커뮤니티 질문&답변

inust33님의 프로필 이미지
inust33

작성한 질문수

토비의 스프링 부트 - 이해와 원리

프로퍼티 빈의 후처리기 도입

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

해결된 질문

작성

·

767

·

수정됨

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/

답변 1

5

토비님의 프로필 이미지
토비
지식공유자

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

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

inust33님의 프로필 이미지
inust33

작성한 질문수

질문하기