@Value

@Value注解注入@Value("#{}")和@Value("${}")的区别
 
 
@Value("#{}")   SpEL表达式
@Value("#{}") 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量
  1. @Value("#{1}")
  2. private int number; //获取数字 1
@Value("${}") 可以获取对应属性文件中定义的属性值。
假如我有一个sys.properties文件 里面规定了一组值: web.view.prefix =/WEB-INF/views/
在springMvc.xml文件中引入下面的代码
  1. <context:property-placeholder
  2. ignore-unresolvable="true" location="classpath:sys.properties" />
 
这样就可以通过@Value("${web.view.prefix}")获取这个字符串,但是只能在springMvc.xml文件中扫描或者注册的bean中才能通过@Value("${web.view.prefix}")获取这个字符串,其他未在springMvc.xml扫描和定义的bean必须在相应的xml文件中引入上面代码才能使用@Value("${}”)表达式
再controller或者其他组件中通过下面代码即可获取“”/WEB-INF/views/“”这个字符串
  1. @Value("${web.view.prefix}")
  2. private String prefix;
 
Spel表达式学习:
 
 
 
自定义注解(面向切面):

posted @ 2020-07-17 17:01  小窝蜗  阅读(263)  评论(0编辑  收藏  举报