YAML 配列を読込む場合のルール

昨日書いた YAML に追加で、、、
 https://oboe2uran.hatenablog.com/entry/2020/07/24/124904
以下のように、clist  キーに配列がある場合、

address:
  group:
    info1: A
    info2: 120
  clist:
    - 21
    - 22
    - 23
aaa:
  bbb: ABC

この clist を読むための List を、@Value アノテーションで指定できるかと思ったら、
どうしてもできない。
次のように、あくまでも、clist の上のキーを prefix にした @ConfigurationProperties
付与したクラス定義の元、同じ名称の List フィールドでしか読めず、
更に、List 宣言で初期化までやらないとならない。

@Value{"${address.clist}") というアノテーションを付与した List で読むというのは、
SpringBoot ではできないのである。

以下のように、しないとならない。

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
 * Setting
 */
@ConfigurationProperties(prefix="address")
@Component
public class Setting{
   public Map<String, Object> group;

   @Value("${aaa.bbb}")
   public String name;

   private List<Integer> clist = new ArrayList<>();

   public List<Integer> getClist(){
      return clist;
   }

   public void setGroup(Map<String, Object> m) {
      group = m;
   }
   public Map<String, Object> getGroup(){
      return group;
   }
}

@Value を書かせたり、書くとダメだったり、こういう辻褄の合わないところが、
Spring が嫌いなところだ。

Spring 信仰者からは、辻褄が合わないんじゃなくて、
いやそれはこうい理由だと提示されるかもしれないけど。。。