티스토리 뷰
Spring
[Spring-Error] Constructor with '1' parameters is already defined
heemang.dev 2023. 9. 2. 15:04
결론부터 말하자면 @RequiredArgsConstructor을 사용하면서 생성자를 추가적으로 생성하였기 때문에 발생한다.
@RequiredArgsConstructor 애너테이션은 final이 붙은 변수들을 모아 생성자로 만들어준다.
@Configuration
@RequiredArgsConstructor
public class JdbcTemplateV1Config {
private final DataSource dataSource;
// 생략
}
dataSource에 final이 붙었기 때문에 아래와 같이 생성자를 만들어준다.
public JdbcTemplateV1Config(DataSource dataSource) {
this.dataSource = dataSource;
}
Constructor with '1' parameters is already defined
오류 메시지에서도 알 수 있듯이 파라미터가 이미 정의되어 있다고 한다. DataSource는 @RequiredArgsConstructor를 통해 이미 정의되어 있는데, 추가적인 생성자를 만들어서 또다시 정의했기 때문에 오류가 발생했다.