더북(TheBook)

3.2 프로퍼티를 이용하여 외부적으로 구성하기

 

애플리케이션 보안을 다룰 때 세부적인 구성까지 모두 제어하고 싶을 때가 있다. 하지만 단지 서버 포트 번호나 로그 레벨처럼 부수적인 것을 수정하려고 자동 구성을 포기한다면 이 선택은 비효율적이다. 또 데이터베이스 URL을 설정할 때는 DataSource 빈을 선언하는 것보다는 프로퍼티를 설정하는 편이 더 간단하다.

스프링 부트가 자동으로 구성하는 빈들은 세부적인 부분을 조정할 수 있도록 300개가 넘는 프로퍼티를 제공한다. 설정을 조정할 때는 환경 변수나 자바 시스템 프로퍼티, JNDI, 명령줄 인자, 프로퍼티 파일을 이용하여 프로퍼티를 지정한다.

프로퍼티를 살펴보기 전에 먼저 아주 간단한 예제를 하나 살펴보자. 명령줄에서 독서 목록 애플리케이션을 실행할 때 스프링 부트가 아스키아트 배너를 띄우는 것을 본 적이 있을 것이다. 이 배너를 숨기고 싶다면 spring.main.show-banner 프로퍼티를 false로 설정한다. 아스키아트 배너를 숨기는 다른 방법은 애플리케이션을 실행할 때 명령줄 매개변수로 프로퍼티를 지정하는 것이다.

  $ java -jar build/libs/readinglist-0.0.1-SNAPSHOT.jar –spring.main.show-banner=false

또 다른 방법은 다음 프로퍼티를 포함한 application.properties 파일을 생성하는 것이다.


spring.main.show-banner=false

YAML을 선호한다면 다음과 같이 application.yml로 YAML 파일을 생성한다.


spring:
    main:
       show-banner: false

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.