Open daadaadaah opened 3 months ago
@Autowired
public DiscordNotificationService(
RestTemplateHttpClient restTemplateHttpClient
) {
this.restTemplateHttpClient = restTemplateHttpClient;
}
@Autowired
public RestTemplateHttpClient(
RestTemplate restTemplate
) {
this.restTemplate = restTemplate;
}
@Configuration
public class AppConfig {
@Autowired
public AppConfig(
GitHubApiLoggingInterceptor gitHubApiLoggingInterceptor
) {
this.gitHubApiLoggingInterceptor = gitHubApiLoggingInterceptor;
}
@Bean
public RestTemplate restTemplate() {
RestTemplate restTemplate = new RestTemplate();
// ... 생략
return restTemplate;
}
}
@Autowired
public GitHubApiLoggingInterceptor(
LogService logService
) {
this.logService = logService;
}
@Autowired
public LogDirectSaveGoogleSheetsService(
NotificationService notificationService
) {
this.notificationService = notificationService;
}
@Autowired
public DiscordNotificationService(
RestTemplateHttpClient restTemplateHttpClient
) {
this.restTemplateHttpClient = restTemplateHttpClient;
}
순환 참조 문제 : AppConfig 순환 참조 문제
에러 메시지
해결 과정
1. 에러 메시지 해석
2. 어떤 순환 참조가 형성되었는지 파악
3. 왜 순환 참조가 일어나는지 파악
4. 어떻게 순환 참조 문제를 해결할 것인지
이에, 코드를 다음과 같이 AppConfig에서 Google Sheets 관련 설정을 분리하고, 이를 관리해 줄 GoogleSheetsConfig를 만들었습니다.
결과 (관련 commit)