# ======================================== # 기본 애플리케이션 설정 # ======================================== server.port=8080 server.servlet.context-path=/service spring.application.name=bio_backend spring.output.ansi.enabled=always # ======================================== # 개발 도구 설정 # ======================================== spring.devtools.livereload.enabled=true spring.devtools.restart.additional-paths=src/main/java # ======================================== # 데이터베이스 설정 # ======================================== spring.datasource.url=jdbc:postgresql://stam.kr:15432/imas spring.datasource.username=imas_user spring.datasource.password=stam1201 spring.datasource.driver-class-name=org.postgresql.Driver # 운영 환경 변수 설정 필요 # spring.datasource.url=${DB_URL:} # spring.datasource.username=${DB_USERNAME:} # spring.datasource.password=${DB_PASSWORD:} # ======================================== # JPA/Hibernate 설정 # ======================================== # 개발 환경 설정 spring.jpa.hibernate.ddl-auto=none spring.jpa.open-in-view=false spring.jpa.show-sql=false spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.highlight_sql=true spring.jpa.properties.hibernate.use_sql_comments=false # 배치 처리 설정 spring.jpa.properties.hibernate.default_batch_fetch_size=100 spring.jpa.properties.hibernate.jdbc.batch_size=100 spring.jpa.properties.hibernate.order_inserts=true spring.jpa.properties.hibernate.order_updates=true # 스키마 생성 설정 spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=ddl/schema.sql spring.jpa.properties.hibernate.hbm2ddl.schema-generation.script.append=false # ======================================== # 로그 레벨 설정 # ======================================== # 전체 애플리케이션 기본 로그 레벨 logging.level.root=INFO # 프로젝트 패키지 로그 레벨 logging.level.com.bio.bio_backend=DEBUG # 세부 패키지별 로그 레벨 logging.level.com.bio.bio_backend..*.controller=INFO logging.level.com.bio.bio_backend..*.service=DEBUG logging.level.com.bio.bio_backend..*.repository=DEBUG logging.level.com.bio.bio_backend.global.aop=DEBUG logging.level.com.bio.bio_backend.global.filter=INFO # JPA/Hibernate 로깅 logging.level.org.hibernate.SQL=DEBUG logging.level.org.hibernate.orm.jdbc.bind=TRACE logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE logging.level.org.springframework.data.jpa=DEBUG logging.level.org.springframework.orm.jpa=INFO logging.level.org.springframework.transaction=DEBUG # Spring Framework 로깅 logging.level.org.springframework.web=WARN logging.level.org.springframework.web.servlet.DispatcherServlet=WARN logging.level.org.springframework.security=INFO # ======================================== # 로그 패턴 설정 # ======================================== logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n # ======================================== # P6Spy 설정 (SQL 로깅) # ======================================== decorator.datasource.p6spy.enable-logging=true decorator.datasource.p6spy.log-format=%(sqlSingleLine) # ======================================== # JWT 설정 # ======================================== token.expiration_time_access=900000 token.expiration_time_refresh=86400000 token.secret_key=c3RhbV9qd3Rfc2VjcmV0X3Rva2Vuc3RhbV9qd3Rfc2VjcmV0X3RhbV9qd3Rfc2VjcmV0X3RhbV9qd3Rfc2VjcmV0X3Rva2Vu # 운영 환경 변수 설정 필요 # token.secret_key=${JWT_SECRET_KEY:} # ======================================== # Swagger 설정 # ======================================== springdoc.api-docs.path=/api-docs springdoc.swagger-ui.path=/swagger-ui.html springdoc.swagger-ui.operationsSorter=method springdoc.swagger-ui.tagsSorter=alpha springdoc.swagger-ui.doc-expansion=none springdoc.swagger-ui.disable-swagger-default-url=true springdoc.default-produces-media-type=application/json springdoc.default-consumes-media-type=application/json # ======================================== # 보안 설정 - 허용할 경로 security.permit-all-paths=/login,/members/register,/swagger-ui/**,/swagger-ui.html,/swagger-ui/index.html,/api-docs,/api-docs/**,/v3/api-docs,/v3/api-docs/**,/ws/**,/actuator/**,/actuator/health/**,/actuator/info # 파일 업로드 설정 # ======================================== spring.servlet.multipart.enabled=true spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB spring.servlet.multipart.file-size-threshold=2KB # 파일 저장 경로 설정 app.file.upload.path=./uploads/ # ======================================== # Spring Boot Actuator 설정 # ======================================== # Actuator 엔드포인트 활성화 management.endpoints.web.exposure.include=health,info,metrics,env,configprops management.endpoint.health.show-details=always management.endpoint.health.show-components=always # Health 체크 상세 정보 표시 management.health.db.enabled=true management.health.diskspace.enabled=true management.health.defaults.enabled=true # Actuator 기본 경로 설정 management.endpoints.web.base-path=/actuator # Health 체크 타임아웃 설정 (밀리초) management.health.defaults.timeout=10s # 커스텀 Health 체크 그룹 설정 management.health.groups.readiness.include=db,diskSpace management.health.groups.liveness.include=ping # ======================================== # 애플리케이션 정보 설정 (Actuator info 엔드포인트용) # ======================================== info.app.name=Bio Backend Service info.app.description=생물학 연구를 위한 백엔드 서비스 info.app.version=@project.version@ info.app.java.version=@java.version@ info.app.spring-boot.version=@spring-boot.version@