SpringBoot 학습 - yml 파일 에서 사용자 정의 매개 변수 분석 대상

* 8195: 8195: SpringBoot 에서 사용자 정의 매개 변 수 를 통 해 많은 중요 한 기능 을 실현 하여 디 결합 을 실현 할 수 있 습 니 다.SpringBoot 사용자 정의 매개 변수의 유형 은 , , , List, Map, List 입 니 다.이제 우 리 는 천천히 그 길 을 갈 것 이다.
우선 yml 파일 을 작성 합 니 다. 그 중에서 정의 합 니 다:
#      
cus:
  val:   
  bean: 
    id: 20
    name:   
  arr1: 1, 3, 4
  arr2: [1, 3, 4]
  list:
    - lista
    - listb
  map:
    a: mapa
    b: mapb
  listmap:
    - a: a
      b: b
      c: c
    - d: d
      e: e
      f: f

1. yml 사용자 정의 인자 의 키 쌍 가 져 오기
    방식 1: 주해 @Value 를 사용 하여 획득
@Value("${cus.val}")
private String cusVal;

『 8195 』 주의: ${} 에 빈 칸 이 있어 서 는 안 됩 니 다.    방식 2: 여 기 는 잠시 관문 을 팝 니 다. 방식 2 는 통용 되 는 획득 방식 이기 때문에 마지막 으로 통일 적 으로 설명 합 니 다.
2. yml 사용자 정의 인자 의 배열 가 져 오기
    방식 1: 주해 @Value 를 사용 하여 획득
@Value("${cus.arr1}")
private String cusVal;

『 8195 』 주의: ${} 에 빈 칸 이 있어 서 는 안 됩 니 다."사용 하지 않 은" [] "묶 은 배열 은 사용 하 는 방식 으로 얻 을 수 있 고 사용 할 수 있 습 니 다." [] "묶 은 배열 은 방식 2 로 만 얻 을 수 있 습 니 다." 두 번 째 는 통용 되 는 획득 방식 이기 때문에 마지막 으로 통일 적 으로 설명 합 니 다.
3. 프로필 에서 다른 가 져 오기
    프로필 에 있 는 다른 파일 은 간단 한 @Value 주석 으로 가 져 올 수 없습니다. 다음 과 같은 방법 으로 가 져 와 야 합 니 다. 다음 과 같은 방법 으로 가 져 올 수 있 습 니 다.
  • yml 사용자 정의 매개 변수 에 있 는 키 쌍 을 가 져 옵 니 다. 위 설정 파일 에 대응 하 는 val
  • yml 사용자 정의 매개 변수 에 있 는 배열 을 가 져 옵 니 다. 위 설정 파일 에 대응 하 는 arr 1, arr 2
  • yml 사용자 정의 매개 변수 에 있 는 대상 을 가 져 오고 위 에 설 정 된 파일 에 대응 하 는 bean 대상
  • yml 사용자 정의 매개 변수 에 있 는 List 를 가 져 옵 니 다. 위 설정 파일 에 대응 하 는 list
  • yml 사용자 정의 매개 변수 에서 Map 를 가 져 오고 위 설정 파일 에 대응 하 는 map
  • yml 사용자 정의 매개 변수 중 List > 를 가 져 오고 위 설정 파일 에 대응 하 는 listmap
  •     첫 번 째 단 계 는 다음 과 같은 형식의 클래스 를 정의 합 니 다.
    package com.config;
    
    import java.util.Arrays;
    import java.util.List;
    import java.util.Map;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    import com.bean.User;
    
    /**
    * @Description   yml       
    * @author   
    * @since 2019 4 7    1:48:27
    * @version V1.0
    */
    @Component
    @ConfigurationProperties(prefix="cus")
    public class CustomParam {
    	
    	private String val;
    	private User bean;
    	private String[] arr1;
    	private String[] arr2;
    	private List list;
    	private Map map;
    	private List> listmap;
    	
    	public String getVal() {
    		return val;
    	}
    	public void setVal(String val) {
    		this.val = val;
    	}
    	public User getBean() {
    		return bean;
    	}
    	public void setBean(User bean) {
    		this.bean = bean;
    	}
    	
    	public String[] getArr1() {
    		return arr1;
    	}
    	public void setArr1(String[] arr1) {
    		this.arr1 = arr1;
    	}
    	public String[] getArr2() {
    		return arr2;
    	}
    	public void setArr2(String[] arr2) {
    		this.arr2 = arr2;
    	}
    	public List getList() {
    		return list;
    	}
    	public void setList(List list) {
    		this.list = list;
    	}
    	public Map getMap() {
    		return map;
    	}
    	public void setMap(Map map) {
    		this.map = map;
    	}
    	public List> getListmap() {
    		return listmap;
    	}
    	public void setListmap(List> listmap) {
    		this.listmap = listmap;
    	}
    	@Override
    	public String toString() {
    		return "CustomParam [val=" + val + ", bean=" + bean + ", arr1=" + Arrays.toString(arr1) + ", arr2="
    				+ Arrays.toString(arr2) + ", list=" + list + ", map=" + map + ", listmap=" + listmap + "]";
    	}
    	
    }
    
    

    두 번 째 단 계 는 사용 해 야 할 곳 에서 get/set 주 해 를 사용 하여 자동 으로 주입 하여 사용한다.
    @Autowired
    private CustomParam customParam;
    

    이상 은 각종 사용자 정의 파 라 메 터 를 가 져 오 는 방식 입 니 다.

    좋은 웹페이지 즐겨찾기