은은하게 코드 뿌시기

스프링 부트 프로파일 / Springboot profile 설정! 본문

웹/Spring Boot

스프링 부트 프로파일 / Springboot profile 설정!

은은하게미친자 2023. 4. 18. 10:41
728x90

소스를 다받고 설정도 다했는데

왠지 프로젝트가 정상적으로 안돌아갈때

의심해볼 profile설정.!

1. 스프링부트 프로파일 기능?

스프링 부트에서는 여러 개의 환경을 구성하여 사용할 수 있도록 프로파일(Profile) 기능을 제공합니다.

프로파일은 설정 파일, 빈 등을 분리하여 관리할 수 있도록 해줍니다. 이를 통해 애플리케이션을 개발할 때, 개발, 테스트, 운영 등 각각의 환경에서 사용하는 설정값을 분리하여 관리할 수 있습니다.

프로파일을 설정하려면, application.properties 또는 application.yml 파일에 프로파일별 설정 값을 작성해야 합니다. 각각의 프로파일은 이름으로 구분되며, --spring.profiles.active 옵션을 통해 지정할 수 있습니다.

 

2 .  프로파일 의 종류 설정하기

1) application.properties 파일 에서 설정하기 
예를 들어, application.properties 파일에서 dev 프로파일에 대한 설정을 추가하고 싶은 경우 아래와 같이 작성할 수 있습니다.

application.properties 파일
# dev 프로파일 설정
spring.datasource.url=jdbc:mysql://localhost:3306/devdb
spring.datasource.username=root
spring.datasource.password=1234

만약, prod 프로파일에 대한 설정을 추가하고 싶은 경우 application-prod.properties 파일을 생성하고 아래와 같이 작성할 수 있습니다.

 

application.properties 파일
# prod 프로파일 설정
spring.datasource.url=jdbc:mysql://localhost:3306/proddb
spring.datasource.username=admin
spring.datasource.password=5678

 

2) 빌드 도구에서 설정하기 (메이븐)

또 스프링 부트 애플리케이션을 빌드할때 Maven이나 Gradle같은 빌드 도구에서 처리 할 수 있습니다.

application.properties 파일
# [PROFILE]
spring.profiles.active=@spring.profiles.active@
메이븐 프로젝트 일경우 예 pom.xml  프로파일을 여러개 설정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    <profiles>
        <profile>
            <id>live1</id>
            <properties>
                <spring.profiles.active>live1</spring.profiles.active>
            </properties>
        </profile>
        <profile>
            <id>dev1</id>
            <properties>
                <spring.profiles.active>dev1</spring.profiles.active>
            </properties>
        </profile>
        <profile>
            <id>dev2</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <spring.profiles.active>dev2</spring.profiles.active>
            </properties>
        </profile>
        <profile>
            <id>local</id>
            <properties>
                <spring.profiles.active>local</spring.profiles.active>
            </properties>
        </profile>
    </profiles>
cs

 

 

3. 설정한 프로 파일 active 하기

1) STS 에서 설정하기 

STS 에서  active openconfig 를 설정 할 수도있다.

방법은 아래 사진과같다. 

2) application.properties 파일을 사용하는 경우
application.properties 파일에서 active profile을 설정할 수 있습니다. 예를 들어, application-dev.properties 파일을 사용하고자 하는 경우 다음과 같이 작성합니다.

spring.profiles.active=dev

3)application.yml 파일을 사용하는 경우
application.yml 파일에서 active profile을 설정할 수 있습니다. 예를 들어, application-dev.yml 파일을 사용하고자 하는 경우 다음과 같이 작성합니다.

spring:
  profiles:
    active: dev

4)명령행 인수(Command-line arguments)를 사용하는 경우
java 명령을 실행할 때 -Dspring.profiles.active 옵션을 사용하여 active profile을 설정할 수 있습니다. 예를 들어, dev profile을 사용하고자 하는 경우 다음과 같이 실행합니다.

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

5) 환경 변수(Environment variable)를 사용하는 경우
시스템 환경 변수를 사용하여 active profile을 설정할 수 있습니다. 예를 들어, dev profile을 사용하고자 하는 경우 다음과 같이 설정합니다.

 

SPRING_PROFILES_ACTIVE=dev

 

728x90
Comments