版本:spring-framework-4.1



## 一、概述
为了简化读取properties文件中的配置值,Spring支持@Value注解的方式来获取,这种方式大大简化了项目的配置,业务中也提高了灵活性。


## 二、两种使用方法
1. @Value("#{configProperties['key']}")
2. @Value("${key}")


## 三、示例
### 3.1 @Value("#{configProperties['key']}")使用
#### 3.1.1 applicationContext-value.xml
```

配置方法1:







classpath:value.properties

配置方法2:

<util:properties id="configProperties" location="classpath:value.properties"></util:properties>

注:和配置方法1等价,这种方法需要util标签,要引入util的xsd:

http://www.springframework.org/schema/util

http://www.springframework.org/schema/util/spring-util-3.0.xsd"


#### 3.1.2 value.properties

key=1


#### 3.1.3 ValueDemo.java

@Component

public class ValueDemo {

@Value("#{configProperties['key']}")

private String value;

public String getValue() {
return value;
}

}


#### 3.1.4 测试

@Test

public void testValue() {

BeanFactory beanFactory=new ClassPathXmlApplicationContext("applicationContext-value.xml");

ValueDemo valueTest=(ValueDemo)beanFactory.getBean("valueDemo");

System.out.println(valueTest.getValue());

}

结果打印:

1


</br>
### 3.2 @Value("${key}")使用
#### 3.2.1 applicationContext-value.xml
**方法一**:在3.1.1的基础上增加:

```
**方法二**:或者直接指定指定配置文件,完整配置如下:
```

classpath:value.properties


#### 3.2.2 value.properties

key=1


#### 3.2.3 ValueDemo.java

@Component

public class ValueDemo {

@Value("${key}")

private String value;

public String getValue() {
return value;
}

}


#### 3.2.4 测试

@Test

public void testValue() {

BeanFactory beanFactory=new ClassPathXmlApplicationContext("applicationContext-value.xml");

ValueDemo valueTest=(ValueDemo)beanFactory.getBean("valueDemo");

System.out.println(valueTest.getValue());

}

结果打印:

1

Spring4中@value用法详解的更多相关文章

  1. AngularJS select中ngOptions用法详解

    AngularJS select中ngOptions用法详解   一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...

  2. C++中的STL中map用法详解(转)

    原文地址: https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html C++中的STL中map用法详解   Map是STL的一个关联容器,它提供 ...

  3. C++中const用法详解

    本文主要内容来自CSDN论坛: http://bbs.csdn.net/topics/310007610 我做了下面几点补充. 补充: 1. 用const声明全局变量时, 该变量仅在本文件内可见, 类 ...

  4. c/c++中define用法详解及代码示例

    https://blog.csdn.net/u012611878/article/details/52534622   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog. ...

  5. Spring中@Async用法详解及简单实例

    Spring中@Async用法 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类 ...

  6. AngularJS中transclude用法详解

    这篇文章主要介绍了AngularJS中transclude用法,详细分析了transclude的具体功能.使用技巧与相关注意事项,需要的朋友可以参考下 本文实例讲述了AngularJS中transcl ...

  7. Elasticsearch——Date Math在索引中的用法详解

    在elasticsearch中,有时会想要通过索引日期来筛选查询的数据,此时就需要用到日期数学表达式. 更多内容参考Elasticsearch翻译汇总 基于日期数学表达式的索引 模式如下: <s ...

  8. PHP中header用法详解带范例(转)

    header的用法 header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端.标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的 ...

  9. Python中enumerate用法详解

    enumerate()是python的内置函数.适用于python2.x和python3.xenumerate在字典上是枚举.列举的意思enumerate参数为可遍历/可迭代的对象(如列表.字符串)e ...

随机推荐

  1. http://www.kankanews.com/ICkengine/archives/18078.shtml

    https://github.com/lealife/WeiXin-Private-API

  2. php面向对象多继承实现

    在PHP面向对象概念编程中,一个子类只能继承一个父类,但是从php5.4后新增traits实现代码复用机制变向达到多继承.Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立 ...

  3. 20155201 2016-2017-2《Java程序设计》课程总结

    20155201 2016-2017-2<Java程序设计>课程总结 目录 一.每周作业链接汇总 二.实验报告链接汇总 三.代码托管链接 四.课堂项目实践 五.课程收获与不足 六.问卷调查 ...

  4. 20145325张梓靖 《Java程序设计》第8周学习总结

    20145325张梓靖 <Java程序设计>第8周学习总结 教材学习内容总结 Logger java.util.logging包提供了日志功能相关类与接口,使用日志的起点是logger类, ...

  5. MySQL的yum源

    http://repo.mysql.com/ 超链接: http://repo.mysql.com/

  6. 【bzoj4972】小Q的方格纸 前缀和

    题目让O(1)预处理出来 类三角形边界及内部的和 根据这个图 就是一个大矩形-左边的绿色的矩形 - 蓝色的大三角形 + 右上角突出的蓝色的小三角形 #include<bits/stdc++.h& ...

  7. NOIP 2018退役祭

    Day 0 实在是没啥特别想干的...路上看了一下FE的小玉的第四周目的视频...然后到了之后整理了一下东西,然后被slr教着学了一下一个叫翻棋的东西,然后立刻就上瘾了...然后就听slr先生教我滑铁 ...

  8. 微软Azure DevOps自动化部署

    1.准备一个https://hub.docker.com账号,申请一个免费的镜像仓库(免费账户可以申请一个) 创建docker远程镜像库 2.新建一个mvc的项目 给这个项目加上Dockerfile文 ...

  9. JS BOM操作

    Bom:浏览器对象模型(Browser Object Model,简称 BOM)提供了独立于内容而与浏览器窗口进行交互的对象.描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作 (1) ...

  10. JS中constructor与prototype关系概论

    在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下:     我们都知道,在JS中有一个function的东西. ...