import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
@ConfigurationProperties(prefix = "update.sold.out")
@RefreshScope
@Getter
@Setter
public class UpdateSoldOutProperties {
//第一种注入list的方法
private List<String> stores;
private List<String> salesMerchants;
private List<String> suppliers;
//第二种注入list的方法
@Value("#{'${update.sold.out.supplierlist}'.split(',')}")
private List<String> supplierlist;
@Value("#{'${update.sold.out.salesMerchantslist}'.split(',')}")
private List<String> salesMerchantslist;
@Value("#{'${update.sold.out.storeslist}'.split(',')}")
private List<String> storeslist;
}
上文是使用一个实体类来统一管理前缀一致的参数
(但是发现使用split方法好像无法使用统一前缀prefix来进行管理)
写了两种实现注入list的测试方法
在properties里面填写入两种的注入方法
update.sold.out.stores[0]=ABCD
update.sold.out.stores[1]=EFGHI
update.sold.out.stores[2]=MNOPQ
update.sold.out.salesMerchants[0]=dasds
update.sold.out.salesMerchants[1]=sdad
update.sold.out.salesMerchants[2]=asdsd
update.sold.out.suppliers[0]=sadsda
update.sold.out.suppliers[1]=sad
update.sold.out.suppliers[2]=sadas
update.sold.out.supplierlist=ABCD,EFGHI,MNOPQ
update.sold.out.salesMerchantslist=1,2,3,4
update.sold.out.storeslist=2,3,4,5