[Spring] BeanCreationException: Error creating bean: Injection of autowired dependencies failed
문제 상황
org.springframework.boot.SpringApplication - Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘s3Config’: Injection of autowired dependencies failed
S3 설정 클래스 S3Config
를 정의해준 뒤 실행했는데 빈 생성을 하지 못했다는 오류가 뜨면서 종료됐다.
해결
코드 단에 노출되면 안되는 값들을 application.yml
에 적어놓고 @Value
로 값을 가져오도록 설정했었는데, 테스트 환경에서는
설정해놓고 메인으로 넘어갔을 때 application.yml
을 같이 업데이트 해주지 않아서 발생한 문제였다. 다음은 @Value
로 갑을
application.yml
에서 가져오는 코드다.
@Configuration
public class S3Config {
@Value("${cloud.aws.credentials.access-key}")
private String accessKey;
@Value("${cloud.aws.credentials.secret-key}")
private String secretKey;
@Value("${cloud.aws.region.static}")
private String region;
...
}
accessKey
,secretKey
,region
모두application.yml
에서 값을 가져오고 있음
이렇게 정의한 S3Config
를 다른 클래스에서 주입받는 상황이었기 때문에 빈 생성 및 주입해주는 작업이 이뤄져야 했는데
application.yml
에서 accessKey
, secretKey
, region
에 대한 값이 없기 때문에 초기화를 할 수가 없다.
그래서 테스트 환경에서 썼던 값들을 application.yml
에 업데이트해주니 해결할 수 있었다.
댓글남기기