목록으로

Programming Notes

Spring Boot, 설정 파일 하나로 간편하게 관리하기: Profile과 Tomcat 포트 설정

Spring Boot를 사용하면서 가장 편리하다고 느끼는 점 중 하나는 설정 관리의 간편함입니다. 과거 Spring 프로젝트에서 XML 파일들을 뒤적이며 설정값을 찾던 번거로움은 이제 옛말이 되었습니다. Spring Boot는 application.properties 또는...

Spring Boot를 사용하면서 가장 편리하다고 느끼는 점 중 하나는 설정 관리의 간편함입니다. 과거 Spring 프로젝트에서 XML 파일들을 뒤적이며 설정값을 찾던 번거로움은 이제 옛말이 되었습니다. Spring Boot는 application.properties 또는 application.yml과 같은 설정 파일 하나로 프로젝트의 다양한 설정을 관리할 수 있도록 해줍니다. 이번 글에서는 Spring Boot 프로젝트에서 설정 파일을 활용하여 Profile을 관리하고 내장 Tomcat 서버의 포트를 변경하는 방법을 살펴보겠습니다.

Spring Boot 설정 파일, 왜 중요할까요?

Spring Boot는 "Convention over Configuration" 철학을 따릅니다. 즉, 개발자가 명시적으로 설정하지 않아도 대부분의 설정을 자동으로 구성해줍니다. 하지만 때로는 기본 설정을 변경하거나, 개발 환경, 테스트 환경, 운영 환경 등 다양한 환경에 따라 다른 설정을 적용해야 할 필요가 있습니다. 이때 Spring Boot의 설정 파일이 빛을 발합니다. 설정 파일을 통해 서버 포트, 데이터베이스 연결 정보, 로깅 설정 등 다양한 설정을 간편하게 변경하고 관리할 수 있습니다.

Tomcat 포트 변경하기: 간단한 설정으로 서버를 내 마음대로

Spring Boot는 기본적으로 내장 Tomcat 서버를 사용하여 웹 애플리케이션을 실행합니다. 기본 포트는 8080으로 설정되어 있지만, 필요에 따라 이 포트를 변경할 수 있습니다. 만약 8080 포트가 이미 사용 중이거나, 특정 포트를 사용해야 하는 경우, 설정 파일에서 간단하게 포트를 변경할 수 있습니다.

application.properties 파일에 server.port 속성을 추가하고 원하는 포트 번호를 지정하면 됩니다. 예를 들어, 포트를 9000으로 변경하려면 다음과 같이 작성합니다.

server.port=9000

이렇게 설정한 후 애플리케이션을 실행하면 Tomcat 서버가 9000번 포트로 시작되는 것을 확인할 수 있습니다. 만약 YAML 파일을 사용한다면 다음과 같이 설정할 수 있습니다.

server:
  port: 9000

Profile을 활용한 환경별 설정 관리

Spring Boot는 Profile이라는 강력한 기능을 제공하여, 개발 환경, 테스트 환경, 운영 환경 등 다양한 환경에 따라 다른 설정을 적용할 수 있도록 해줍니다. Profile을 사용하면 환경별로 설정 파일을 분리하여 관리할 수 있으며, 애플리케이션 실행 시 특정 Profile을 활성화하여 해당 환경에 맞는 설정을 적용할 수 있습니다.

예를 들어, 개발 환경에서는 H2 데이터베이스를 사용하고, 운영 환경에서는 MySQL 데이터베이스를 사용하는 경우, application-dev.properties 파일에는 H2 데이터베이스 연결 정보를 설정하고, application-prod.properties 파일에는 MySQL 데이터베이스 연결 정보를 설정할 수 있습니다.

application-dev.properties:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

application-prod.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=myuser
spring.datasource.password=mypassword

애플리케이션 실행 시 특정 Profile을 활성화하려면 spring.profiles.active 속성을 사용합니다. 예를 들어, 개발 환경 Profile을 활성화하려면 다음과 같이 설정할 수 있습니다.

spring.profiles.active=dev

혹은, 애플리케이션을 실행할 때 VM 옵션으로 Profile을 지정할 수도 있습니다.

java -jar -Dspring.profiles.active=dev myapp.jar

마무리

Spring Boot의 설정 파일은 애플리케이션의 설정을 간편하게 관리하고, 환경에 따라 다른 설정을 적용할 수 있도록 해주는 매우 유용한 기능입니다. Tomcat 포트 변경, Profile 설정 등 다양한 방법을 통해 Spring Boot 설정을 자유롭게 관리하고, 개발 효율성을 높여보세요.