최대 1 분 소요

이 글을 참고했다.

프로젝트가 커지다보면 필요한 설정 값들이 많아지는데, 유지보수성을 위해 스프링과 관련된 설정들은 application.yml에,
그 외 프로젝트에 필요한 추가적인 설정 값은 설정 파일을 분리해서 작성하는 경우가 많다.

application.yml이 위치한 src/main/resources 디렉토리 하위에 s3 연결 정보가 담긴 aws-s3.yml과 같은 추가 설정 파일을 생성하고
필요한 설정 값(access-key, secret-key 등..)을 작성해보자.

그리고 스프링 부트 🌟”2.4 이후” 버전을 기준으로 추가 설정 파일에 등록된 설정 값들을 불러오는 방법을 알아보자.

+) 참고
스프링 부트 “2.4 이전” 버전에서는 spring.config.location의 값으로 .yml 파일들의 위치를 콤마(,)로 분리해서 넘겨주면 된다.
(@PropertySource.properties 설정 파일을 위한 어노테이션이므로 .yml 설정파일을 불러오는데에는 사용되지 않는다.)

public class MyApplication {
    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class)
            .properties("spring.config.location=classpath:/application.yml,classpath:/aws-s3.yml")
            .run(args);
}

테스트 코드에서는 다음과 같이 @SpringBootTest 어노테이션의 properties에 동일한 값을 넘겨줘서 사용할 수 있다.

@SpringBootTest(
    properties = "spring.config.location=classpath:/application.yml,classpath:/aws-s3.yml"
)
public class S3Test {
    // ...
}

1. application.yml 수정

application.yml

spring:
  config:
    import:
      - aws-s3.yml

2. 추가 설정 파일 작성

🚨 해당 내용은 민감정보이므로 꼭 gitignore에 등록해주자!

aws-s3.yml

# === AWS S3 === #
cloud:
  aws:
    credentials:
      access-key: ******
      secret-key: ******
    s3:
      bucket: bucket-name
    region:
      static: ap-northeast-2
    stack:
      auto: false


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기

태그:

카테고리:

업데이트: