WAR 파일을 통해 배포하기WAR 파일을 배포하기 위해서는 다음 과정을 거쳐야 한다. 1. JDK 혹은 JRE 설치2. Web Server 설치3. WAR 파일 배포 WAR 파일을 배포하기 위해서는 JRE와 Web Server가 있어야 한다. 따라서 우선 JDK나 JRE을 설치 한 후 Web Server을 설치하고 해당 WebServer에 WAR파일을 배포하면 된다. 예를 들어 Tomcat을 사용하는 경우 WAR파일을 webapps 디렉토리에 복사하거나, Tomcat Manager을 사용해 WAR 파일을 직접 선택해 배포해야 할 수 있다. 익숙하다면 복잡하지 않을 수 있지만, 만약 이 Web Server을 배포를 위한 파일에 함께 내장할 수 있다면 배포 과정이 더욱 간단해질 수 있을 것이다. 이러한 ..
Spring/Settings
Actuator란 무엇인가?Actuator란 Spring Boot에서 제공하는 애플리케이션 모니터링 및 관리 기능으로, Spring 애플리케이션의 Health를 체크하거나, Bean 목록을 확인하거나, 각 패키지의 로그 레벨이 어떻게 설정돼 있는지 확인하거나, Heap Dump를 제공하는 등 수십가지 기능을 제공하는 모니터링 툴이다. Actuator 사용하기Actuator을 사용하는 방법은 매우 간단하다. 단순히 build.gradle.kts 파일에 spring-boot-starter-actuator에 대한 의존성을 추가하면 된다. 그러면, Actuator 관련 기능이 활성화 된다.dependencies { implementation("org.springframework.boot:spring-bo..
@ConfigurationProperties 가 필요한 경우application.properties 파일에는 애플리케이션을 위한 여러 설정이 들어간다. 이때 여러 설정 값들을 application.properties에 정의해 놓는데, 이 값들을 앱으로 가져와야 하는 경우가 생긴다. 예를 들어 서버의 이름, 서버에서 허용하는 클라이언트의 유형 등을 개발 환경 별로 다르게 설정해놓고 이 값을 통해 애플리케이션을 설정하는 경우 등이 있을 수 있다. 예를 들어 다음과 같은 application.properties 파일이 있다고 해보자.spring.application.name=setting-configurationpropertiesserver.server-name=releaseserver.allowed-clie..
개발 환경 별로 서로 다른 application.properties 파일이 필요한 이유application.properties는 스프링 부트 애플리케이션의 설정 파일 역할을 하며, 이곳에는 로그 레벨이나 DB 접속 정보 등 다양한 설정을 작성할 수 있다. 이 정보들은 개발 환경 별로 다르게 설정되어야 한다. 개발 환경은 대표적으로 다음 세가지가 있다.DevQaRelease(혹은 Prod)Dev 환경에서는 개발을 편하게 만들기 위한 환경이 설정돼야 하기 때문에 로그 레벨이 DEBUG나 TRACE 정도가 되어야 하고, 개발만을 위한 DB가 따로 설정돼야 한다. 또한 Release 환경은 사용자가 직접적으로 접하는 환경이기 때문에 로그 레벨이 ERROR 정도로 설정되어야 하고 DB가 별도로 설정돼야 한다. 즉..
로그 레벨이란?로그 레벨은 애플리케이션에서 발생하는 로그의 중요도를 나타내는 지표이다. 개발 환경 별로 로그 레벨을 관리하는 것은 매우 중요하다. 개발 시에만 필요한 로그를 넣어뒀는데, 이것이 프로덕션에서도 보여진다면 불필요한 로그가 보여지는 것이기 때문에 불필요한 데이터가 디스크를 차지하거나 할 수 있다. 따라서 개발 환경 별로 서로 다른 로그 레벨의 설정이 필요하다. 이것을 어떻게 설정하는지 알기 위해 먼저 Spring 에는 어떤 로그 레벨이 있는지 알아보자. Spring의 로그 레벨Spring 에서는 다음과 같은 6단계의 로그 레벨을 사용한다. TRACE: 가장 상세한 정보를 제공하는 레벨DEBUG: 개발 시 디버깅 목적으로 사용되는 레벨INFO: 일반적인 정보를 나타내는 레벨WARN: 잠재적인 문..