漂亮地将application.properties注入类别变数

以前通常会使用@Value来将application.properties的值注入类别变数:

application.yml

limit:   speed: 100

class Car

@Dataclass Car{    String model;        @Value(speed.max)    String speed;}

后来发现有个@ConfigurationProperties的注解可以很乾净地做到注入Collection变数:

application.yml

nissan:  cars:    - model: sentra      speed: 100    - model: GTR      speed: 300

CarShop

@ConfigurationProperties(prefix = "nissan")class CarShop{    List<Car> cars;        public List<Car> getCars(){        return cars;    }        public void setCars(List<Car> cars){        this.cars = cars;    }}

只要这样设定后,SpringBoot就会自动把application.yml中的nissan.cars注入到CarShop的cars类别变数。要做到这件事有几个条件:

@ConfigurationProperties的prefix参数与application.yml的prefix对齐prefix后一个变数名称与类别变数名称对齐Collection的泛型型态变数名称与其他application.yml变数名称对齐

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章