스프링부트
@Qualifier와 @Autowired
Choony
2024. 1. 9. 15:40
ChatGPT API를 사용하려던 도중
@Qualifier를 사용하여 Bean 이름을 등록해 주었다.
@Qualifier("openaiRestTemplate")
private final RestTemplate restTemplate;
Controller에서 사용하기 위해 이런식으로 사용하려고 했는데.... 엥 안되네?
찾아보니 @Qualifier는 @Autowired와 함께 사용해야 한다고 되어있어서
@Qualifier("openaiRestTemplate")
@Autowired
private RestTemplate restTemplate;
이런식으로 변경해주니 문제없이 돌아갔다!
다만, Field injection이 not recommend라니 Constructor Injection을 이용하는 방식으로는
public Example(@Qualifier("openaiRestTemplate") RestTemplate restTemplate) {
restTemplate = this.restTemplate;
}
이런 식으로 이용할 수 있다!