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

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贡献1804条经验 获得超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贡献1810条经验 获得超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
  • 2 回答
  • 0 关注
  • 111 浏览

添加回答

举报

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