티스토리 뷰

Spring으로 개발을 할때 properties나 yml 등 설정파일에 데이터를 입력하고 그 데이터를 JAVA객체와 매핑하여 사용할 때가 발생하곤 한다. 이번장에는 Spring Boot에서 기본적으로 제공해주는 Properties 클래스말고 직접 Properties 클래스를 만들어보자.

 

위에서 언급한 Spring Boot에서 기본적으로 제공해주는 Properties 클래스에 대해 간략히 설명하자면 기존 Spring Legacy로 개발환경을 세팅할때 개발자는 DB Connection을 하기위해 DataSource Bean 설정을 일일이 하나하나 다 잡아줘야했지만 Spring Boot에서는 이러한 기능들을 자동으로 설정해주며 각 설정들에 대해 Properties 클래스를 제공해준다.



내장 Tomcat, Mybatis, Mail, DataSource 관련 Properties 클래스이다.



Spring Boot Project를 생성후 application.properties(yml)에 해당설정정보를 세팅해주면 Spring Boot 구동시 자동으로 설정해준 값들이 Properties 클래스에 값들이 매핑된다.

Configuration 의존성 추가

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

Spring Boot AutoConfigure Properties 클래스를 만들기 위해선 해당 의존성을 추가해야한다.

Properties 클래스 생성

이름,주소,나이를 필드로 가지는 MemberProperties 클래스를 생성후 @ConfigurateionProperties 어노테이션을 선언한다.

이때 어노테이션 인자값에 prefix값은 설정파일에 명시된 key값들중 @ConfigurateionProperties 어노테이션에 명시된
prefix값과 일치되는 key를 찾은뒤 해당 key에서 prefix를 제외한 나머지 key이름과 동일한 Properties 클래스의 멤버변수와 매핑시킨다.

테스트

정상적으로 값이 매핑된걸 확인할 수 있다.

List타입으로 매핑

위 사진처럼 하나의 단일 객체로 매핑할뿐아니라 List 형식으로도 매핑할 수 있는데 application.properties와 yml의 문법이 조금 다른데 한번 살펴보자.

application.properties

 

application.yml

 

테스트 (2)

정상적으로 잘 동작되었다.

 

만약 application.properties로 테스트할때 한글깨짐현상이 발생된다면 아래링크를 참조해보자

kim-jong-hyun.tistory.com/57

 

728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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 30 31
글 보관함