With AI

Spring Boot의 애플리케이션 설정파일

  • -
반응형

 

✅ application.properties vs application.yml

Spring Boot에서는 애플리케이션 설정을 application.properties 또는 application.yml 파일에 저장할 수 있습니다.
두 방식은 동일한 기능을 제공하지만, 문법과 가독성이 다릅니다.

1. application.properties (속성 파일)

  • 키=값 형식으로 설정
  • 단순하고 직관적이지만, 계층 구조 표현이 어렵다.

📍 예제 (application.properties)

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

logging.level.root=info
logging.level.org.springframework=debug

🔹 특징

✔ 설정이 한 줄씩 명확하게 보임
✔ 유지보수가 쉬움 (작은 설정 파일에 적합)
계층 구조 표현이 어렵고 가독성이 떨어짐

 

2. application.yml (YAML 파일)

  • key: value 형식과 들여쓰기로 계층 구조를 표현
  • 가독성이 좋고 유지보수하기 쉬움

📍 예제 (application.yml)

server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver

logging:
  level:
    root: info
    org.springframework: debug

 

🔹 특징

계층 구조 표현이 가능하여 가독성이 좋음
JSON과 유사하여 직관적
❌ 공백이나 들여쓰기 실수 시 오류 발생 가능

 

3. application.properties → application.yml 변환 예제

application.properties application.yml
server.port=8080 server:
port: 8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
logging.level.root=info logging:
level:
root: info

.yml은 . 대신 들여쓰기 사용
계층 구조 표현이 가능

 

4. 어느 것을 사용해야 할까?

기준 application.properties application.yml
문법 key=value (간단한 설정) key: value (계층형 구조 표현 가능)
가독성 설정이 많아지면 복잡함 가독성이 좋음
유지보수 계층 구조 표현이 어려움 설정이 많을수록 유리
오류 가능성 단순한 문법, 오류 적음 들여쓰기 실수 가능

간단한 설정만 있다면 application.properties
설정이 많고 계층 구조가 필요하면 application.yml 추천

 

Spring Boot에서 application.properties와 application.yml 파일이 동시에 존재하면, 둘 다 로드됩니다.

우선순위: application.properties가 application.yml을 덮어씀

  • 즉, 같은 설정이 두 파일에 존재할 경우, application.properties의 값이 최종 적용됩니다.
  • 하지만, 두 파일에 서로 다른 설정이 있다면 두 파일의 설정이 합쳐집니다.

🎯 정리

  • application.properties → 간단한 설정, 한 줄씩 설정하기 편리함
  • application.yml → 계층 구조 표현이 가능, 가독성이 좋음
  • application.yml이 더 직관적이므로 최근에는 YAML을 선호하는 추세! 🚀
반응형

'With AI' 카테고리의 다른 글

Spring Cloud Eureka란?  (0) 2025.03.18
Authorization 헤더에서 Bearer를 붙이는 이유  (0) 2025.03.07
Spring 환경에서 API 호출하기  (0) 2025.03.05
Vue.js란?  (0) 2025.03.04
Dart란?  (0) 2025.03.03
Contents

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.