Skip to Content
Suffering builds character
아카이브20.spring Hateoas스프링부트3.스프링 부트 핵심 특징1.애플리케이션 설정 정보를 구성하는 파일

1.애플리케이션 설정 정보를 구성하는 파일

1. 외부화(Externalized)된 설정 파일

애플리케이션 실행을 위해 필요한 설정 정보는 다양한 파일 확장자를 통해 적용할 수 있음 (.xml, .properties, .yml 등)

  • 로깅에 대한 설정 정보 - log4j2.xml, logback.xml
  • JPA Hibernate에 대한 설정 정보 - persistence.xml
  • 서블릿 컨테이너기반의 서버 실행과 관련된 설정 정보 - web.xml, server.xml

스프링에서는 src/main/resources 경로 내부에 기본으로 제공하는 application.properties 파일에 위 설정 정보들을 하나의 파일로 통합할 수 있음

이처럼 설정 파일을 외부화하여 서로 다른 환경에서도 설정 파일만 가지고 동일하게 작업을 수행할 수 있음

1. application.properties 기반 구성

# 데이터베이스 연결 설정 spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=myuser spring.datasource.password=mypassword # 서버 포트 설정 server.port=8080 # 애플리케이션 이름 설정 spring.application.name=MySpringBootApp # 로깅 설정 logging.level.org.springframework=INFO logging.level.com.example=DEBUG

각각의 설정에 대한 옵션 목록

2. application.yml 기반 구성

.yml은 YAML 형식으로 구성된 확장자로, 중첩된 작성 포맷을 통해 보다 직관적이고 위계적인 구조를 사용하여 설정 정보를 정의할 수 있기 때문에 중복을 줄일 수 있음

# 데이터베이스 연결 설정 spring: datasource: url: jdbc:mysql://localhost:3306/mydatabase username: myuser password: mypassword # 서버 포트 설정 server: port: 8080 # 애플리케이션 이름 설정 spring: application: name: MySpringBootApp # 로깅 설정 logging: level: org.springframework: INFO com.example: DEBUG

3. 설정 파일이 적용되는 우선 순위

.properties 파일과 .yml 파일이 둘 다 존재할 경우 어떤 순서로 적용될지?
→ 실습 진행 및 3번의 링크 참조

Last updated on