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();
添加回答
舉報