Property 관리
Spring Property
property 관리란 주요 정보들을 보관하기 위한 파일들을 만들고 정보를 분할 저장한 뒤 원하는 파일에서 불러와서 사용하도록 만드는 체계를 말한다.
Spring에서도 property 관리를 지원해주며, spring-context
모듈이 이를 처리한다.
프로퍼티를 위해 생성할 수 있는 파일 형식은 크게 두 가지이며 다음과 같다.
.properties
.yaml 또는 .yml
properties 파일
.properties
확장자를 가지는 파일은 데이터를 다음 양식에 따라 저장한다.
데이터가 한 개인 경우와 여러 개인 경우 저장하는 방법이 다르다. 이 문서에서는 database dbcp 설정을 진행하려고 하므로 properties 파일을 다음과 같이 작성한다.
database.properties
기본적인 설정으로 인해 유니코드는 변환 후 저장된다. 만약 변환하지 않고 보고 싶다면 추가 플러그인을 설치하거나 다른 편집 모드로 열어야 한다. 또한 띄어쓰기가 금지되는 등 문법적인 제약이 존재하니 작성 시 주의해야 한다.
yaml 파일
yaml(YAML Ain't Markup Language)는 properties 등의 중복되는 이름 선언과 같은 비효율성을 개선하고 데이터 위주로 저장하기 위해 고안된 양식이다. 문법이 properties보다 엄격한 편이므로 작성 시 해당 기능을 지원하는 에디터로 하는 것이 좋다.
위에서 작성한 내용을 .yaml
파일로 저장할 경우 다음과 같이 저장된다.
주의할 점은 소속된 항목은 탭으로 들여쓰기를 해야하며, 항목을 적고 콜론(:)을 작성한 뒤 값을 적기 전에 반드시 한 칸의 띄어쓰기를 작성해야 한다는 것이다.
property file 저장
작성한 property 파일은 일반적으로 src/main/resources
에 저장한다.
편의를 위해 properties
라는 파일을 생성한 뒤 database.properties
파일을 저장한다.
property load 설정
전역에서 편하게 사용할 수 있도록 root-context.xml
에서 패턴을 지정하여 properties 파일들을 불러올 수 있도록 설정한다.
root-context.xml
classpath:/
로 시작하는 경로는 src 내부 경로를 의미한다.*.properties
는 확장자가properties
인 파일을 의미한다.
위와 같이 불러오도록 설정하면 프로젝트 내에서 로드한 파일을 사용할 수 있다.
property value 사용
불러온 설정값을 사용하기 위해서는 다음과 같이 사용한다.
설정 xml 파일
${database.driver}
는 database.driver=oracle.jdbc.OracleDriver
속성의 값을 읽어와서 출력한다.
Java 파일
자바 파일에서는 두 가지 사용법이 있다.
@Value
는 직접적으로 변수에 해당 설정값을 주입해준다.
권장하지 않는 사용방법이다.
환경 정보를 주입하여 설정값을 불러오는 방법이 있다.
위와 같이 Environment
객체를 자동 할당한 뒤 원하는 부분에 다음과 같이 코드를 작성한다.
Last updated