본문 바로가기

컴퓨터공학/Spring & Hibernate

Spring> Spring Boot> Application property

application.properties 파일에 값을 쓰고 Controller에서 @Value 값을 이용하여 값을 불러올 수 있다. 

@Value("${coach.name}")

이런 식으로 사용한다. 


 

Spring Boot Properties

application.properties 에서 구성할 수 있고 Server port, context path, actuator, security 등등 property를 구성할 수 있다.

대략 1000개 정도 넘기 때문에 자세한 내용은 

Common Application Properties (spring.io)

 

Common Application Properties

 

docs.spring.io

에서 볼 수 있다.

property 카테고리는 

Core, Web, Security, Data, Actuator, Integration, Dev Tool, Testing 

으로 이루어져있다.

 

Core properties

Log level의 Severity를  설정할 수 있다.

즉 로그 발생 상황 심각도를 설정할 수 있다. 

예시)

logging.level.org.springframework = DEBUG

logging.level.org.hibernate = TRACE

logging.level.org.mycoolapp = INFO

그리고 패키지 이름을 기반으로 logging level을 설정할 수 있다.

게다가 서브 패키지 이름도 가능하다. 

 

Logging levels 단계는 

TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

이다. 

 

로그 파일 이름 설정은

looging.file=my-crazy-stuff.log

처럼 할 수 있다. 

 

더 자세한 내용은 

Spring Boot Features

 

Spring Boot Features

Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. It occurs as part of closing the application context and is performed in the earliest

docs.spring.io

여기서 볼 수 있다. 

 

Web Properties

Http server port는

server.port=7070

 

Context path of the application은

server.servlet.context-path=/my-cool-app

 

위 내용을 적용하면

http://localhost:7070/my-cool-app/

이렇게 된다. 

 

세션 시간은

server.servlet.session.timeout = 15m

기본값은 30분인데 15분으로 설정한다는 뜻이다.

 

Actuator Properties

Endpoints to include by name or wildcard

management.endpoint.web.exposure.include=*

 

Endpoints to exclude by name or wildcard

management.endpoint.web.exposure.exclude=beans.mapping

 

Base path for actuator endpoints

management.endpoint.web.base-path=/actuator

 

위 설정은 

http://localhost:7070/actuator/heatlh 

이런 식으로 접근할 수 있다.

 

 

Security Properties

기본 유저 아이디

spring.security.user.name=admin

기본 패스워드 설정

spring.security.user.password=topsecret

 

 

Data Properties

Database JDBC URL 설정

spring.datasource.url=jdbc:mysql://localhost:3306/ecommerce

 

데이터베이스 로그인 아이디

spring.datasource.username=tiger

 

데이터베이스 로그인 패스워드

spring.datasource.password=eyes

 

 

위 내용들은 간단하게 몇 개 골라서 썼다.

더 자세한 내용은 공식사이트에 들어가서 보면 된다.

 

 

 

원래 다른 프로젝트 때문에 서버 작동이 안 됐었는데

서버 포트와 context path를 바꾸자 잘 작동한다. 

이제 모든 request 앞에는 /mycoolapp이 붙는다.