개발자

인텔리제이 스프링부트 env

2024년 03월 07일조회 216

인텔리제이에서 스프링부트 프로젝트를 개발중인데요 환경변수 설정에서 사용하다가 VScode 에서는 env파일을 만들어 사용하는 것을 보고 여기에서도 파일을 만들어 사용하려고 하는데 appconfig 에 @PostConstruct가 어플리케이션 컨텍스트가 로드된 후에나 실행 된다고 오류가 자꾸 나서요... 혹시 파일로 따로 설정하는게 어렵운건가요? 설정하는 방법이 있을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

김예지님의 프로필 사진

프로퍼티 설정이 있습니다. 말씀하신 env과 같은 기능을 제공하는 파일이고 파일 작성 방식에는 yaml과 properties 가 있습니다. env와 마찬가지로 profile에 따라 별도 설정 가능합니다. Spring boot properties 혹은 Spring boot profile 설정으로 검색하시면 관련 정보 많아 찾으실 수 있습니다☺️

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 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 뿐만 아니라 커맨드라인에서도 마찬가지로 동작하게 됩니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!