SpringMVC中使用@Value给非String类型注入值

String类型的@Value注入方式

  1. String类型的直接可以使用
 @Value("陈婉清")
 private String name;

非String类型的@Value注入方式报错类型

  1. String类型的使用@Value时的错误1
@Value(21)
private int id;

上面的代码会报错的,因为@Value要求的参数的String类型的
2. 非String类型的使用@Value时的错误2

 @Value("2015202110032")
 private int id;

原因为把2015202110032变成 int会失败,长度超出,这里可能是因为Spring没有采取截取的方式,而是采用严禁的报错的形式,结果Spring报错如下(只截取了CauseBy部分)
错误描述

正确的打开方式

  1. 正常使用方式
@Value("2015202110032")
private int id;
@Value("陈婉清")
private String name;
@Value("98.5")
private float score;
  1. 使用表达式来传值。即使一个int常量都可以认为是一个表达式
@Value("#{22}")
private int id;
@Value("陈婉清")
private String name;
@Value("#{98.5}")
private float score;

注意:表达式的使用方式为#{表达式}

posted @ 2016-05-28 16:00  shugen  阅读(3197)  评论(0编辑  收藏  举报