1 @Value("#{}") SpEL表达式
@Value("#{}") 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量
@Controller
@RequestMapping("/login")
public class LoginController {
@Value("#{1}")
private int number; //获取数字 1
@Value("#{'Spring Expression Language'}") //获取字符串常量
private String str;
@Value("#{User.name}") //获取bean的属性
private String name;
@Autowired
private DataSourceTransactionManager transactionManager;
@ResponseBody
@RequestMapping("login")
public String login() {
System.out.println(number);
System.out.println(str);
System.out.println(name);
return "成功";
}
}
2 @Value("${}")
通过@Value("${}") 可以获取对应属性文件中定义的属性值。
假如我有一个web.properties文件 里面规定了一组值 : web.view.prefix =/WEB-INF/views/
注意 : 必须在springMvc.xml文件中扫描或者注册的bean中才能通过@Value("${web.view.prefix}")获取这个字符串,
其他未在springMvc.xml扫描和定义的bean必须在相应的xml文件中引入下面代码才能使用@Value("${}”)表达式
<!-- 加载配置属性文件 -->
<context:property-placeholder
ignore-unresolvable="true" location="classpath:conf.properties" />
然后再controller文件中通过下面代码即可获取“”/WEB-INF/views/“”这个字符串
@Value("${web.view.prefix}")
private String prefix;