프로젝트

(ProfitKey) @Value와 yml 사용하여 환경변수 값 설정하기

민톨이 2025. 3. 22. 18:27
728x90

일단 내 프로젝트 환경은 yml 파일이 개발 환경마다 나뉘어 있다.

(공통 / 로컬 / 데브 etc)

로컬과 데브로 나뉘어진 yml 파일에 각각 넣어줘야한다.

 

**여기서 주의할 점 

콜론 앞까지의 변수명이 똑같아야함

logout-redirect-uri <<

처음에 생각없이 logout-redirect-uri-local / logout-redirect-uri-dev 이런식으로 했다가 아예 @Value 주입이 안되어버렸음

 

 

터미널에도 저 값 주입해준다

 

1. 터미널 환경변수 편집기 들가기

sudo vi ~/.zshrc

 

i 키 눌러서 insert 가능하게 만들고

 

내가 설정한 변수 ${}값과 데이터가 들어갈 수 있게 해준다

 

uri 값 자체는 마스킹 처리로 올리겠음

export COM_SOCIAL_LOGOUT_LOC_REDIRECT=http://localhost:5173/ -> local redirect uri
export COM_SOCIAL_LOGOUT_DEV_REDIRECT=https://dev.***개발서버 redirect uri 

export STOCK_KAKAO_LOCAL_LOGOUT_REDIRECT_URI=${COM_SOCIAL_LOGOUT_LOC_REDIRECT}

export STOCK_KAKAO_DEV_LOGOUT_REDIRECT_URI=${COM_SOCIAL_LOGOUT_DEV_REDIRECT}

 

이렇게 터미널 환경변수 값을 넣고

 

:wq 로 나온 다음에

 

2. 환경변수 변경값 저장

source ~/.zshrc

 

3. IntelliJ 재시작

 

상단바 file - invalidate caches - just restart 눌러서 재시작

 

 

4. 사용할 java파일 내에 @Value() 삽입

 

${} 안에는 내가 yml 파일에서 설정한 이름을 넣어주면 된다.

 

여기서 내가 둘이 이름을 다르게 했을 때에 오류가 났던 것 같다

 

(현재 configuration은 local이고 둘 중 하나만 넣을 수 있는데 둘을 다르게 했으니,,?)

 

그래서 공통적인 이름을 사용해서 각각 파일에 넣고 ${}안의 값만 다르게 설정해주어야 한다.

 

이러면 내가 yml파일 + 터미널에 설정한 환경변수 값이 잘~~ 들어간다.

 

 

 

+ 도움을 주신 jayce님께 감사,,,,