[Spring] 환경변수 사용해보기

이강혁·2024년 9월 2일
0

Spring

목록 보기
1/2

Spring boot 프로젝트에서 S3버킷을 사용해야 할 상황이 발생했다. S3버킷의 키 페어와 지역, 버킷 이름 등등을 코드에 작성해야 했는데 Github에 그대로 올리면 큰일 날 것 같아서 방법을 찾아보았다.

https://gengminy.tistory.com/24
이 블로그의 내용이 React에서 하던 방법이랑 비슷해서 사용하기로 결정했다.

.env

.env 파일을 일단 resources 폴더 내부에 만들었다. jar 파일로 빌드할 때 env 파일을 포함시키려면 resources 내부에 만들라고 했기 때문이다. jar 파일 내부에 환경변수를 직접 넣는 것이 위험하다고 하긴 했지만 일단 이 방법으로 가고 나중에 다른 방법을 찾아서 적용하기로 했다.

환경변수 이름은 정해진 규칙이 없는 것 같아서 아래와 같이 만들었다.

그리고 .gitignore에 추가했다.

application.yml

참고한 블로그에서는 다음과 같이 yml 파일을 작성했다.

spring:
  config:
    import: optional:.env[.properties]

.env 파일을 .properties라는 확장자를 추가해서 해석하겠다는 의미이고, optional은 .env 파일이 있을 때만 들고오겠다는 의미라고 한다.

변수 불러오기

    @Value("${AWS_ACCESS_KEY}")
    private String awsAccessKey;

    @Value("${AWS_SECRET_KEY}")
    private String awsSecretKey;

    @Value("${AWS_REGION}")
    private String region;

이런식으로 불러오면 환경변수를 사용할 수 있다. value는

import org.springframework.beans.factory.annotation.Value;

lombok이랑 위의 beans factory의 것 두 가지가 옵션으로 나오는데 beans factory의 것을 사용하면 된다.

profile
사용자불량

0개의 댓글