서버 포트(server.port): 여러 애플리케이션을 동일 서버/도메인에서 구분하는 데 필수적이며, 마이크로서비스 환경에서 특히 중요합니다. 🌐
컨텍스트 패스(server.servlet.context-path): 애플리케이션 URL의 공통 접두사를 설정하며, API 버전 관리(예: /api/v1)에 활용될 수 있습니다. 🛣️
애플리케이션 이름(spring.application.name): 클라우드 환경(쿠버네티스, 디스커버리 서버)에서 서비스 이름을 통해 애플리케이션을 식별하고 찾는 데 사용됩니다. 🏷️
데이터베이스 연결 설정(spring.datasource.*): 데이터베이스 접근을 위한 URL, 사용자 이름, 비밀번호, 드라이버 클래스 이름 등 기본적인 연결 정보를 정의합니다. 💾
JPA 개발 편의 설정(spring.jpa.show-sql, spring.jpa.hibernate.ddl-auto): 개발 시 SQL 쿼리 확인(show-sql) 및 엔티티 기반 DB 스키마 자동 생성/업데이트(ddl-auto)를 지원하지만, ddl-auto는 운영 환경에서 절대 사용해서는 안 됩니다. ⚠️
SQL 스크립트 초기화(spring.sql.init.mode): schema.sql 및 data.sql 파일을 이용한 DB 초기화 기능을 제공하나, 로컬 개발 환경에서만 사용해야 하며 운영 환경에서는 매우 위험합니다. 🚨
액추에이터(management.endpoints.*): 애플리케이션 모니터링 및 관리를 위한 엔드포인트(예: health로 서버 생존 여부 확인)를 제공하며, 보안과 밀접하게 관련되어 있습니다. 📈
가상 스레드(spring.threads.virtual.enabled): JDK 21 이상에서 가상 스레드를 활성화하여 동시성 성능을 향상시킬 수 있습니다. 🚀
시큐리티 관련 설정은 프로퍼티보다는 자바 코드로 구성하는 경우가 많아 본 설명에서는 제외되었습니다. 🔒