今天遇到一個疑惑點,在配置文件中用了一組類似的配置,如下:

data.hashmap.1=d1 data.hashmap.2=d2 data.hashmap.3=d3 data.hashmap.4=d4 data.hashmap.5=d5 data.hashmap.6=d6
然后在springboot中添加了配置config文件,代碼如下
@Data @Component @ConfigurationProperties(prefix = "data") public class xxxConfig { private Map<String, String> hashmap; }
這時只要在需要的地方Autowired這個配置類,里面的hashmap中就已經附上值了。
這里我就非常奇怪了,賦值一般不都是通過@Value或者是其他的具體方法實現的么,而我在這里什么也沒找到。
最后看了半天,還是把目光盯在了@ConfigurationProperties上,百度一搜才知道我把這個注解想簡單了
本以為這個注解就是定義一下配置文件中要找的對象的前綴
但實際上功能不止這些,這個注解還會自動封裝注解的類,所以這里就對xxxConfig自動封裝,將值賦給hashmap了