- jpa
- 문자열
- spring mvc
- 스프링부트
- java
- spring security 6
- string
- 자바
- DI
- spring
- 프로그래머스
- nginx
- hibernate
- @transactional
- PYTHON
- static
- 스프링
- sql
- springboot
- select
- spring boot
- 1차원 배열
- mysql
- Django
- Docker
- AWS
- ORM
- 데이터베이스
- SSL
- join
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
개발하는 자몽
[TIL / Spring] 설정 파일과 프로필 본문
스프링 부트 - 핵심 원리와 활용 | 김영한 - 인프런
김영한 | 실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다., 백엔드 개발자를 위한 스프링 부트 끝판왕! 실무에 필요한 내용을 모두 담았습니다. [임베딩 영상] 김영한의 스
www.inflearn.com
외부설정과 프로필1
오랜만에 Spring을 공부하고 있는데 설정 분리 등을 다 잊어버린 것 같아서 복기 겸 간단하게 정리한다.
DB 설정값을 코드 내부가 아닌 개발 서버와 운영 서버에
이러한 문제점은 설정 파일을 프로젝트 내부에 포함해서 관리하여 해결할 수 있다. 설정 파일도 코드와 함께 빌드되게 하는 것이다.
- 프로젝트 내부에 코드와 함께 각 환경에 필요한 설정 데이터를 포함 및 관리
- 개발, 운영 설정 파일을 모두 포함하여 빌드
app.jar 는 개발, 운영 두 설정 파일을 모두 가지고 배포됨- 실행 시 어떤 설정 데이터를 읽어야 하는지 구분
스프링은
application-xxx.properties
프로젝트 src > main > resources 디렉토리에

해당 파일에 필요한 설정들을 입력한다. 아래 파일은
url=dev.db.com
username=dev_user
password=dev_pw
프로필 설정
dev 외에도 prod 설정 파일이 있을 수 있으므로, 이를 구분하기 위해 프로필을 설정해야 한다.
아래 이미지에서

클릭 후

--spring.profiles.active=dev
# 또는
-Dspring.profiles.active=dev
위 옵션에
한 파일에서 설정값 작성하기(application.properties)
spring.config.activate.on-profile=dev
url=dev.db.com
username=dev_user
password=dev_pw
#---
spring.config.activate.on-profile=prod
url=prod.db.com
username=prod_user
password=prod_pw
이때 프로필을 구분하기 위해 각 프로필 설정값 맨 위에
위와 같이 작성하고 Configuration에 동일하게 프로필을 지정해 주면 해당 설정값이 활성화된다.
default profile
Configuration에 아무런 프로필도 지정해주지 않으면 default로 설정된다. default는
url=local.db.com
username=local_user
password=local_pw
#---
spring.config.activate.on-profile=dev
url=dev.db.com
username=dev_user
password=dev_pw
#---
spring.config.activate.on-profile=prod
url=prod.db.com
username=prod_user
password=prod_pw
맨 위에 아무런 프로필도 지정되지 않은 것이 default이다. 따라서 프로필을 지정하지 않으면 맨 위에 설정이 기본값으로 설정된다.
'Java & Kotlin > Spring' 카테고리의 다른 글
[Spring Security] 토큰 기반 로그인/로그아웃 구현하기 (0) | 2024.06.08 |
---|---|
Spring Security 6 - Architecture (1) | 2024.06.07 |
[Spring Data JPA] TransactionRequiredException (0) | 2023.08.19 |
[QueryDSL] SpringBoot 3.1.0, QueryDSL 5.0.0 build.gradle (0) | 2023.08.12 |
[JPA] 지연로딩과 프록시 객체 조회 (0) | 2023.07.21 |