property , yml

property , yml


프로젝트에 외부에서 특정 값들을 받아야 하는 경우가 있다. 

AWS나 외부 API를 사용하기 위한 secret key, API key가 이에 해당한다. 

이러한 값들을 하드코딩하는 경우에는 보안에 취약하다.

따라서 이런 중요한 값들을 application.properties 또는 application.yml 의 외부 설정값을 관리하는 파일에 기록하여 사용한다. 

즉, 두 파일 모두 외부 설정값 등을 관리하는 파일이다

외부 설정값을 관리하는 파일. 우선권은 properties가 먼저 갖고 있다.

application.properties


Spring boot 애플리케이션 프로젝트에서 resource 디렉토리 하위에 자동으로 생성되는 파일이다.

properties 파일의 포맷은 name=value 형식이다.

형식

example.jdbc.url=127.0.0.1

example.jdbc.port=8080

example.jdbc.user=user

example.jdbc.password=password

application.yml


properties 파일과 달리 계층 구조 형식으로 값을 지정할 수 있고, prefix의 중복 제거가 가능하다.

.yml 파일을 사용하기 위해서는 SnakeYAML 라이브러리가 포함되어야 하고, 일반적으로 spring-boot-starter의 의존성은 기본적으로 제공해준다.

형식

example:

   jdbc:

     url: 127.0.0.1

     port: 8080

     user: user

     password: password