为了账号安全,请及时绑定邮箱和手机立即绑定

Spring @Value with arraylist 拆分并获取第一个值

Spring @Value with arraylist 拆分并获取第一个值

守候你守候我 2023-01-05 16:58:32

Spring @Valuewith arraylist split并获取arrayList的第一个值


我有my.list=a,b,c

我正在努力获得第一个价值,即


我试过,


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

List<String> values;

String myVal = values.get(0);

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


查看完整描述

2 回答

?
三国纷争

TA贡献1578条经验 获得超7个赞

你在这一行有语法错误


@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;


查看完整回答
反对 回复 2023-01-05
?
蝴蝶不菲

TA贡献1546条经验 获得超4个赞

@Autowired

Environment env;


//To get the List<String>

List<String> values = Arrays.asList(env.getProperty("my.list").split(",");


//Then, you can get value into an Optional to prevent NullPointerException

Optional<String> myValue = values.stream().findFirst();


查看完整回答
反对 回复 2023-01-05

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信