首页 > 解决方案 > Spring @Value with arraylist split 并获得第一个值

问题描述

Spring@Value与arraylist拆分并获取arrayList的第一个值

我有my.list=a,b,c
我正在努力获得第一个价值,即

我试过了,

@Value("#{'${my.list}'.split(',')})
List<String> values;
String myVal = values.get(0);

有没有比这个程序更好的方法?

标签: javaspringspring-bootspring-el

解决方案


你在这一行有语法错误

@Value("#{'${my.list}'.split(',')})

这应该纠正如下

@Value("#{'${my.list}'.split(',')}")
List<String> values;

我建议您将以下解决方案作为更好的方法

一个领域类

@Component
public class Data {


    @Value("#{'${my.list}'.split(',')}")
    List<String> values;



    public List<String> getValues() {
        return values;
    }

    public void setValues(List<String> values) {
        this.values = values;
    }

}

这就是你如何使用域类

@RestController
@RequestMapping("/")
public class Mycon {


    @Autowired
    Data data;

    @GetMapping
    public String hello(ModelMap model) {

        return data.getValues().get(0);

    }

}

application.properties 文件

my.list=a,b,c

您可以直接获取该值,如下所示

@Value("#{'${my.list}'.split(',')[0]}")
String values;

推荐阅读