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;
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();
添加回答
举报