개발강의정리/Spring

[스프링 부트 개념과 활용] 4-4. 프로파일

nineDeveloper 2019. 10. 26.
728x90

스프링 부트 개념과 활용

4. 스프링 부트 활용

포스팅 참조 정보

GitHub

공부한 내용은 GitHub에 공부용 Organizations에 정리 하고 있습니다

해당 포스팅에 대한 내용의 GitHub 주소

실습 내용이나 자세한 소스코드는 GitHub에 있습니다
포스팅 내용은 간략하게 추린 핵심 내용만 포스팅되어 있습니다

https://github.com/freespringlecture/springboot-concept-uses/tree/chap04-04-profile

 

freespringlecture/springboot-concept-uses

백기선님의 스프링 부트 개념과 활용 강의 내용 정리. Contribute to freespringlecture/springboot-concept-uses development by creating an account on GitHub.

github.com

해당 포스팅 참고 인프런 강의

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard

 

스프링 부트 개념과 활용 - 인프런

스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다. 중급 프레임워크 및 라이브러리 Spring Spring Boot 온라인 강의

www.inflearn.com

실습 환경

  • Java Version: Java 11
  • SpringBoot Version: 2.1.2.RELEASE

4. 프로파일

  • 특정한 프로파일에서만 특정한 빈을 등록 하고 싶을 때
  • 애플리케이션의 동작을 특정 프로파일일 경우 빈 설정을 다르게 하고 동작을 다르게 하고 싶을 때

@Profile 애노테이션은 어디에?

config package를 생성하고 각 Configuration Class를 만든다음 아래와 같이 지정

@Configuration

@Profile("test")
@Configuration
public class TestConfiguration {

    @Bean
    public String hello() {
        return "hello test";
    }
}

어떤 프로파일을 활성화 할 것인가?

spring.profiles.active

properties에 직접 설정해서 사용
우선순위에 영향을 받음

spring.profiles.active=test

Command Line 에서 직접 설정시 우선순위가 더 높아서 변경됨

mvn clean package -DskipTests
java -jar target/XXX.jar --spring.profiles.active=prod

program arguments 에 직접지정 하여 테스트

--spring.profiles.acive=test

별도의 프로파일용 프로퍼티 파일로 분리하여 관리

spring.profiles.acive에 따라 해당 프로퍼티 파일이 더 우선순위를 가지므로 덮어씌움

application-{profile}.properties

  • application.properties(메인, 공통 프로퍼티)
  • applciation-test.properties
  • application-prod.properties

어떤 프로파일을 추가할 것인가?

추가할 프로파일을 설정할 수 있음

spring.profiles.include

spring.profiles.include=proddb

application-proddb.properties 파일을 추가후 프로퍼티를 설정하면 해당 프로퍼티 값을 가져올 수 있음

freelife.db-name=prod db
728x90

댓글

💲 추천 글