https://velog.io/@rmeos/스프링부트-환경설정
스프링부트 프로젝트에서 서버환경은 아래 경로에 저장된다.
src / main / resources / application.yml
공통되는 사항은 application.yml
개발자측에서는 application-dev.yml
사용자측에서는 application-prod.yml 가 적용되도록 설정한다
spring:
profiles:
active:
- dev
server:
servlet:
encoding:
charset: utf-8
force: true
port: 8080
# 로그 레벨의 개념
# ERROR > WARN > INFO > DEBUG > TRACE
logging:
level:
root: INFO # 모든 라이브러리는 INFO 이상만 출력
com.tenco: DEBUG # 내 프로젝트는 DEBUG 이상 모두 출력
# spring 환경 설정
spring:
mustache:
# 템플릿 파일의 확장자를 .mustache로 지정하여 Mustache
# 템플릿 파일을 인식하도록 설정
suffix: .mustache
# 템플릿 파일이 위치한
# 기본 경로를 src/main/resources/templates/로 설정
prefix: classpath:/templates/
# 개발 중 템플릿 캐시를 비활성화하여 코드
# 수정 후 바로 반영되도록 함 (프로덕션에서는 true로 설정 권장)
cache: false
# 템플릿 파일을 UTF-8 인코딩으로 처리하여 한글 등 다양한 문자 지원
charset: UTF-8
servlet:
# 세션과 요청 속성을 템플릿에서 사용 가능하게 함
expose-session-attributes: true
expose-request-attributes: true
# 데이터 베이스 연결 설정 (H2 인메모리 데이터베이스)
datasource:
#driver-class-name: com.mysql.cj.jdbc.Driver
#url: jdbc:mysql://localhost:3306/blog?useSSl=false&serverTimezone=Asia/Seoul
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/blog?useSSl=false&serverTimezone=Asia/Seoul
username: root
password: asd1234
# H2 데이터베이스 웹 콘솔 활성화 (개발용)
# http://localhost:8080/h2-console
h2:
console:
enabled: true
sql:
init:
# 2.5 이상 버전부터 명시를 해야 insert 처리 됨
mode: always
data-locations:
- classpath:db/data.sql
# JPA 설정
jpa:
hibernate:
# create: 애플리케이션 시작시 테이블을 새로 생성
# 기존 데이터는 모두 삭제됨 (개발용)
ddl-auto: create
# SQL 쿼리를 콘솔에 출력 (개발용 디버깅)
show-sql: true
properties:
hibernate:
# SQL 쿼리를 보기 좋게 포맷팅
format_sql: true
# data.sql 파일을 Hibernate 초기화 이후에 실행
defer-datasource-initialization: true
# 기본값 : 엔티티 - 카멜케이스 -> db 생성될 스네이크 케이스로 자동으로 설정 됨
server:
servlet:
encoding:
charset: utf-8
force: true
port: 5000