application.yml
유용한 설정 모음
1. debug: false
- 디버그 로그를 찍을 건지 여부를 선택
- true 이면 spirng boot의 디버깅 로그를 다같이 볼 수 있음
- false 이면 logback만 확인 가능
2. manage.endpoints.web.exposure.include: “*”
- Spring boot Actuator(스프링 부트 애플리케이션의 정보를 API 형식으로 확인할 수 있게 해주는 기능)의 숨겨진 endpointer를 모두 활성화시켜줌
3. logging
1
2
3
4
5
| logging:
level:
com.java.rootproject: debug
org.springframework.web.servelet: debug
org.hibernate.type.descriptor.sql.BasicBinder: trace
|
com.{}.{}
: 해당 디렉토리의 모든 로그는 디버그로 보겠다.
org.springframework.web.servelet
: spring web 사용시 request, response log를 보고 싶은데, 너무 많으니까 web.servelet을 debug로 오픈하면 어디서 request, response가 어느 패키지에서 나오는지 알 수 있다.
heibernate ~.BasicBinder
: 쿼리 로그를 디버그로 보겠다. 이것을 세팅하지 않으면 내부에 어떤 파라미터가 들어가는지 ?로 들어가게 된다.
4. db
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| spring:
datasource:
url: jdbc:mysql://localhost:3306/board
username: ---??
password: ---??
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
defer-datasource-initialization: true
hibernate.ddl-auto: create
open-in-view: false
show-sql: true
properties:
hibernate.format_sql: true
hibernate.default_batch_fetch_size: 100
h2.console.enabled: false
sql.init.mode: always
|
defer-datasource-initialization
: 테스트용 데이터를 resources/data.sql (이름은 정해진 규칙임)에 초기값으로 세팅하고 싶은 값을 미리 세팅 가능
hibernate.ddl-auto
: 엔티티를 통해 자동으로 유추하여 ddl문을 만들어준다.
hibernate의 properties
: 스프링에서 hibernate의 모든 기능을 지원하는 것은 아니라, hibernate의 property를 특별히 사용하고 싶다면 이 옵션 사용
hibernate.format_sql
: 디버그 쿼리문이 한 줄로 나오지 않고 포맷팅되어 나오는 것
hibernate.default_batch_fetch_size
: jpa에서 join이 많은 복잡한 쿼리를 다룰 때 n+1쿼리 문제를 해결하기 위해 한번에 100개씩 select할 수 있도록 하는 기능
sql.init.mode
: data.sql의 실행 여부 체크. NEVER(절대 실행 안함)/ ALWAYS(항상) / EMBEDDED
5. test db용 setting
---
로 도큐먼트를 여러 개 이어서 사용 가능
1
2
3
4
| spring:
config.activate.on-profie: testdb
datasource:
~똑같은 세팅부분
|
config.activate.on-profie
: testdb 사용시 이 프로필을 보세요
reference