개발자
인텔리제이에서 스프링부트 프로젝트를 개발중인데요 환경변수 설정에서 사용하다가 VScode 에서는 env파일을 만들어 사용하는 것을 보고 여기에서도 파일을 만들어 사용하려고 하는데 appconfig 에 @PostConstruct가 어플리케이션 컨텍스트가 로드된 후에나 실행 된다고 오류가 자꾸 나서요... 혹시 파일로 따로 설정하는게 어렵운건가요? 설정하는 방법이 있을까요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 03월 07일
IntelliJ IDEA에서도 환경변수를 설정하고 사용하는 방법이 있습니다. 주로 Run/Debug Configuration에서 이루어집니다. 1. IntelliJ IDEA의 상단 메뉴에서 "Run" -> "Edit Configurations..."을 선택합니다. 2. 왼쪽에 목록 중에서 원하는 Spring Boot 구성을 선택합니다 (없다면 추가할 수 있음). 3. 구성 세부사항의 오른쪽에 "Environment variables" 필드가 있는데, 여기서 새로운 환경변수를 추가하거나 기존 환경변수를 수정/삭제할 수 있습니다. 파일을 통해 읽어오는 방식으로 하고 싶으신 경우, @PropertySource 어노테이션을 통해 properties 파일 혹은 yml 파일을 정의하고 해당 파일에서 값을 불러올 수 있습니다. ```java @Configuration @PropertySource("classpath:application-env.properties") public class AppConfig { // ... } ``` 여기서 `application-env.properties`이라는 파일에 key-value 형태로 이루어진 설정값들을 넣으면 됩니다. 주의할 점은 `src/main/resources` 안에 파일이 생성되었는지 확인해주세요, 크래스패스 안에 resource가 위치해야만 합니다. 다만, 이런 방법으로 처리하게 되면 서버마다 다른 설정이 필요한 경우 매번 properties 파일을 변경해야하는 문제점이 생깁니다. 보안 등의 이유로 환경 변수를 사용하는 것이 좋습니다. IntelliJ에서 환경변수 설정이 제일 간단하며, 시스템 환경변수 또는 shell profile에 해당 값을 넣어두면 IDE 뿐만 아니라 커맨드라인에서도 마찬가지로 동작하게 됩니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!