로컬 환경에서는 인메모리DB인 H2 사용, 서버 배포 시 MYSQL DB를 사용하고 싶을 때
애플리케이션을 실행시키면, 프로파일 적용 여부와 관계없이 application.yml 파일에 설정된 정보는 항상 읽어오기 때문에, application-local.yml을 실행시키고 싶으면 application.yml에 아래와 같이 써야한다.
spring:
profiles:
active: local
테스트에서 빌드 시 오류가 발생해서 찾아보니, 실행 환경을 분리하기 위해서 스프링부트 2.4부터는
spring.profiles는 deprecated 되어있어 spring.config.activate.on-profile을 사용해야 한다고 나와있다.
application.yml
spring: config.activate.on-profile: default --- spring: config.activate.on-profile: local
test클래스
@ActiveProfiles("local")