Java

[Spring Boot] @ConfigurationProperties 프로퍼티 바인딩 방법

cob 2024. 6. 25. 16:08

 

 

application 설정 파일의 프로퍼티를 바인딩하는 이유는 구조화된 데이터 관리, 타입 안전성, 자동완성, 환결 설정 마다 관리가 가능하기 때문이다.

 

1. 설정 방법

application.yml 설정 파일은 List, Map 등 Java 객체와 매핑할 수 있다.
# application.yml
task:
  id: coco
  name: kang
  age: 30

 

/* 프로퍼티 클래스 생성 */

@Data
@Component
@ConfigurationProperties("task")
public class UserProperties {
    private String id;
    private String name;
    private int age;
}
  • Data : Lombok을 사용할 경우 자동으로 getter, setter을 생성해 준다.
  • Component :  Spring 콘텍스트에 자동으로 등록해 준다. 
  • ConfigurationProperties : application 설정파일과 매핑해 준다. prefix 값을 설정해 준다.

 

2. List 설정 방법

# application.yml
task:
  user:
   -
    id: coco
    name: kang
    age: 30
   -
    id: coco2
    name: il
    age: 31

 

/* 프로퍼티 클래스 생성 */

@Data
@Component
@ConfigurationProperties("task")
public class UserProperties {
    private List<User> user;
    
    @Data
    public static class User {
       private String id;
       private String name;
       private int age;
    }
    
}
  • user로 리스트를 만들었기 때문에 prefix 설정은 'task'까지만 한다.
반응형