重剑无锋,大巧不工 SpringBoot --- 属性注入

通常的属性注入

一般情况下我们使用Spring或者SpringMVC的时候会使用@Value()注入

使用SpringBoot的时候会使用@ConfigurationProperties(prefix = "xxxx")

注入自定义的呢?这样:@ConfigurationProperties(prefix = "xxx",locations = "classpath:config/xxxx.properties")

更复杂一点的注入

如上图所示我注入了一个List<String>

拓展

那么同样的方式,是否可以注入Map,String[]….呢?

思考

properties的文件被读取的时候使用的就是Map,那么我们知道Map是无序了,这样就会导致我们原先要求的一致性可能达不到

解决方式

properties文件改成采用yml文件,或者升级SpringBoot的版本,貌似新版本采用的LinkedHashMap