以前寫了關於讀取自定義配置的文章springboot~yml裏的自定義配置,而今天主要說一下對複雜配置信息的讀取方法,咱們簡單的配置用@Value註解就能夠了,而結構複雜的通常使用@ConfigurationProperties來實現,下面說一下。html
config-attributes: value: 345 #對應單個值 valueArray: 1,2,3,4,5,6,7,8,9 #對應數組 valueList: #對應list -13579 -246810 valueMap: #對應map name: lili age: 20 sex: female valueMapList: #對應list<map> - name: bob age: 21 - name: caven age: 31
@SpringBootApplication @ConfigurationProperties public class BootstrapConfig { public static void main(String[] args) { SpringApplication.run(BasicApplication.class, args); } }
@Component @Getter @Setter @ConfigurationProperties(prefix = "config-attributes") @ToString public class Config { private String value; private String[] valueArray; private List<String> valueList; private HashMap<String, String> valueMap; private List<Map<String, String>> valueMapList; }
@Autowired private Config config; @Test public void readConfigNode() { System.out.println(config.toString()); }
Config(value=345, valueArray=[1, 2, 3, 4, 5, 6, 7, 8, 9], valueList=[-13579 -246810], valueMap={name=lili, age=20, sex=female}, valueMapList=[{name=bob, age=21}, {name=caven, age=31}])
總結:簡單配置用@Value,複雜配置用ConfigurationProperties。spring