[Spring Boot] 추가 설정 파일 사용하기 (aws-s3.yml
)
이 글을 참고했다.
프로젝트가 커지다보면 필요한 설정 값들이 많아지는데, 유지보수성을 위해 스프링과 관련된 설정들은 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
💛 개인 공부 기록용 블로그입니다. 👻