有时候我们需要在配置文件里面配置一些数组。以下示例是配置的二维数组,如果把 kv 键值分开来看,可以算作三维数组。
application.yaml
1 2 3 4 5 6 7 8 9 10 11 12
| config: arrs: - - k: a1k v: a1v - k: a2k v: a2v - - k: b1k v: b1v - k: b2k v: b2v
|
ArrsConfig.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| package gy.finolo;
import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration;
import java.util.List;
@Configuration @ConfigurationProperties("config") @Data public class ArrsConfig {
private List<Kv>[] arrs;
@Data public static class Kv {
public String k; private String v; }
}
|
需要特别注意,这里定义了一个 Kv 静态内部类,必须为 public static
,属性如果使用 private,那就必须得到 getter/setter 方法,这里我使用了 @Data
注解,自动生成了
getter/setter 方法
需要使用配置变量的文件。
1 2 3 4 5
| @Autowired private ArrsConfig config;
config.getArrs()[0].get(0).k config.getArrs()[1].get(1).getV()
|