스프링 부트의 application.properties 파일은 애플리케이션의 설정을 관리하는 기본 구성 파일입니다. 이 파일을 사용하면 데이터베이스 연결, 포트 설정, 로깅 레벨, 프로파일, 캐시 설정 등 애플리케이션의 다양한 환경 설정을 쉽게 관리할 수 있습니다. application.properties 파일은 클래스패스의 src/main/resources 경로에 위치하며, 키-값 쌍의 형태로 설정을 정의합니다.
server.port: 애플리케이션이 실행될 포트를 설정합니다. 기본값은 8080입니다.server.port=8081
spring.application.name: 애플리케이션 이름을 설정합니다. 이 값은 로깅이나 일부 관리 인터페이스에서 표시됩니다.spring.application.name=MySpringApp
spring.profiles.active: 활성화할 스프링 프로파일을 지정합니다.spring.profiles.active=dev
application.properties 파일에서 데이터베이스 연결을 설정하여, 스프링 부트가 자동으로 JPA나 데이터소스 빈을 설정하도록 할 수 있습니다.
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.datasource.url: 데이터베이스의 URL을 지정합니다.spring.datasource.username 및 spring.datasource.password: 데이터베이스 사용자 이름과 비밀번호를 지정합니다.spring.jpa.hibernate.ddl-auto: JPA가 데이터베이스 스키마를 자동으로 업데이트하는 방법을 설정합니다. (예: create, update, validate, none)스프링 부트의 로깅 레벨을 application.properties에서 설정할 수 있습니다.
logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.com.example=INFO
logging.level.root: 전체 애플리케이션에 대한 기본 로깅 레벨을 설정합니다.logging.level.<패키지명>: 특정 패키지의 로깅 레벨을 설정합니다.스프링 부트는 기본적으로 캐시 설정을 지원합니다. application.properties 파일에서 캐시를 설정할 수 있습니다.
spring.cache.type=simple
spring.cache.cache-names=users, transactions
spring.cache.type: 캐시 타입을 설정합니다. 예: simple, caffeine, redis, none.spring.cache.cache-names: 사용할 캐시 이름을 정의합니다.스프링 부트에서 파일 업로드와 관련된 설정도 application.properties에 정의할 수 있습니다.
spring.servlet.multipart.max-file-size=2MB
spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.max-file-size: 업로드 가능한 파일의 최대 크기를 설정합니다.spring.servlet.multipart.max-request-size: 요청 전체의 최대 크기를 설정합니다.스프링 부트는 메일 전송을 위한 기본 설정도 제공합니다. 메일 서버와 계정 정보를 application.properties 파일에 추가하면 됩니다.
spring.mail.host=smtp.example.com
spring.mail.port=587
spring.mail.username=myemail@example.com
spring.mail.password=secretpassword
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.host: 메일 서버의 호스트 이름을 설정합니다.spring.mail.username, spring.mail.password: 메일 계정의 사용자 이름과 비밀번호를 설정합니다.스프링 부트는 다양한 환경에서 애플리케이션을 실행할 수 있도록 프로파일 기능을 제공합니다. 프로파일 기반 설정 파일을 사용하면, 개발, 테스트, 운영 환경에 따라 다른 설정을 적용할 수 있습니다.
application.properties 예시application.propertiesapplication-dev.propertiesapplication-prod.propertiesapplication.properties 파일에서 사용할 프로파일을 설정할 수 있습니다.
spring.profiles.active=dev
스프링 부트는 application.properties 파일 외에도 외부 설정 파일을 로드할 수 있습니다. 예를 들어, java -jar myapp.jar --spring.config.location=/path/to/config와 같이 설정 파일 경로를 지정하여, 해당 경로의 설정 파일을 사용할 수 있습니다.