본문 바로가기
SpringBoot

properties 두 개 설정하기

by devebucks 2020. 8. 14.
728x90

안녕하세요.

이번 글에서는 인텔리제이에서 스프링부트의 두 가지의 properties가 동작하도록 하는 설정 방법을 알아보겠습니다. 

 저는 스프링부트를 사용하고 있고 얼마 전, 프로젝트가 실행되면 인메모리 디비도 사용하고 postgreSQL도 사용되도록 application.properties와 application-dev.properties를 두 개 만들어서 앱이 실행될 때, 두 properties가 각각 동작하도록 설정했습니다. 

application.properties application-dev.properties
- 인메모리 디비를 사용하고, 
- 
 spring.jpa.hibernate.ddl-auto=create-drop 로 설정하였습니다. 
- 프로젝트가 생성될 때 스키마가 생성되고, 그 테이블에 데이터가 담깁니다. 프로젝트를 종료하게 되면 데이터는 날라갑니다.
- postgreSQL를 사용하고,
- spring.jpa.hibernate.ddl-auto=update 설정하였습니다.
- 프로젝트 실행과 종료에 관계없이, 스키마도 그대로 있고 변경된 부분만 방영이 됩니다. 
데이터도 그대로 존재하게 됩니다. 

기본적으로 application.properties를 만들어서 이 곳에 datasource나 hibernate 설정들을 입력합니다.

개발을 할 때와 운영에서 사용하는 properties 설정은 분명 다를 겁니다.

개발을 할때에는 인메모리 디비나 개발서버의 디비를 사용할 것이고,

spring.jpa.hibernate.ddl-auto=create-drop 나 spring.jpa.hibernate.ddl-auto=update로 설정하여 사용할 것입니다.

 

 

그럼

개발하면서 개발과 운영 properties를 동시에 사용하는 방법을 알아보겠습니다. 다음 설정을 [Edit Configurations..]에서 설정해 주면 됩니다.

 

--spring.profiles.active=이름

ex)

application-test.properties로 만든다면....

--spring.properties.active=test로 [Edit Configurations...]에 Program arguments에 등록을 해주면 됩니다.

 

 

감사합니다.

728x90

댓글