[SpringBoot] profile 설정하기

strongmhk·2023년 7월 31일
0

Spring Boot

목록 보기
3/3
post-thumbnail

📌Profile이란?

profile이란 쉽게 말해 우리가 프로젝트를 실행하기위한 설정사항들을 말한다.
만약 우리가 개발단계에서는 in-memory db인 h2 db를 사용하고,
실제 배포 단계에서는 mysql을 사용하고 싶다고하자.
그러면 우리가 상황에 따라서 계속 설정파일을 바꿔야한다면, 정말 귀찮을 것이다.
이 문제를 해결할 수 있는 개념이 바로 profile이다.







📌예시



h2 이용


spring:
  datasource:
    url: "jdbc:h2:mem:insta_test;MODE=MYSQL;NON_KEYWORDS=USER"
    username: "sa"
    password: ""
    driver-class-name: org.h2.Driver
  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        format_sql: true
        show_sql: true
        dialect: org.hibernate.dialect.H2Dialect
    open-in-view: false
  h2:
    console:
      enabled: true
      path: /h2-console

mysql 이용

spring:
  datasource:
    url: "jdbc:mysql://localhost/insta_test"
    username: "root"
    password: "1234"
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: none
    properties:
      hibernate:
        format_sql: true
        show_sql: true
        dialect: org.hibernate.dialect.MySQL8Dialect
    open-in-view: false


만약 우리가 개발을 마치고 배포전에 데이터베이스를 h2->mysql로 바꿔치기 해야되는 상황이라면
귀찮게 설정 파일을 다시 작성해야하고, 배포를 해놓은 상태에서 유지보수를 위해 h2 db를 계속 사용하고 싶다고하자.
이럴때 다음과 같은 옵션을 설정할 수 있다.



spring:
  config:       
    activate:
      on-profile:

spring:
  config:       
    activate:
      on-profile: local  # 이 설정파일의 별칭을 local이라고 하는 것!
     
  datasource:
    url: "jdbc:h2:mem:insta_test;MODE=MYSQL;NON_KEYWORDS=USER"
    username: "sa"
    password: ""
    driver-class-name: org.h2.Driver
  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        format_sql: true
        show_sql: true
        dialect: org.hibernate.dialect.H2Dialect
    open-in-view: false
  h2:
    console:
      enabled: true
      path: /h2-console

다음과 같이 설정파일의 별칭을 local이라고 지어주고,

밑줄 친 버튼을 누르고 Edit Configuration에 들어가면

active profile란이 보일 것이다. 여기서 설정파일의 별칭을 입력한 후 apply를 누르고 실행하면 다음과 같은 메시지를 볼 수 있다.

2번째 줄에 local이라고 보이는가? 스프링부트가 profile 설정을 local로 했다는 뜻이다.
h2-console이 잘 뜨는지 보겠다

h2 console이 잘 작동한다!
profile 설정을 이용해 이렇게 설정파일을 바꿔치기 할 수 있다!

profile
저 커서 개발자가 될래요!

2개의 댓글

comment-user-thumbnail
2023년 7월 31일

글 잘 봤습니다.

1개의 답글