1. 생성자 주입이란?생성자 주입 방법은 객체를 생성하기 위해 생성자를 호출하는 시점 1회에만 호출되는 것을 보장한다.@Servicepublic class UserService { private UserRepository userRepository; @Autowired public UserService(UserRepository userRepository) { this.userRepository = userRepository; }} 스프링 프레임워크는 생성자 주입을 적극적으로 지원하고 있기 때문에 아래와 같이 생성자가 1개만 존재하는 경우에는 @Autowired 사용 없이 주입이 가능하다.@Servicepublic class UserService { private ..
결론부터 말하자면 @RequiredArgsConstructor을 사용하면서 생성자를 추가적으로 생성하였기 때문에 발생한다. @RequiredArgsConstructor 애너테이션은 final이 붙은 변수들을 모아 생성자로 만들어준다. @Configuration @RequiredArgsConstructor public class JdbcTemplateV1Config { private final DataSource dataSource; // 생략 } dataSource에 final이 붙었기 때문에 아래와 같이 생성자를 만들어준다. public JdbcTemplateV1Config(DataSource dataSource) { this.dataSource = dataSource; } Constructor wit..