@Value的使用
《Spring源码解析》笔记
使用@Value赋值;
1、基本数值
2、可以写SpEL; #{}
3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值)
1.创建一个类Person
其中使用到了第一种和第二种,直接使用@Value进行赋值
public class Person {
@Value("张三")
private String name;
@Value("#{20-2}")
private Integer age;
@Value("${person.nickName}")
private String nickName;
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Person(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public Person() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", nickName=" + nickName + "]";
}
2、如果希望使用第三种,那么${}
首先需要创建一个person.properties文件,内容如下:
person.nickName=\u5C0F\u674E\u56DB
在配置类中需要使用注解PropertySource,将配置文件里面的信息加载到运行环境中。
使用@PropertySource读取外部配置文件中的k/v保存到运行的环境变量中;加载完外部的配置文件以后使用${}取出配置文件的值
@PropertySource(value={"classpath:/person.properties"})
@Configuration
public class MainConfigOfPropertyValues {
@Bean
public Person person(){
return new Person();
}
}
随机推荐
- 中山大学深圳研究院“智能金融和区块链技术”论坛(理论+实战PPT)
中山大学深圳研究院在昨天11月15号在深圳南山区虚拟大学园举办了"智能金融和区块链技术"论坛. 本次论坛邀请了中山大学移动互联网与金融大数据实验室郑子彬教授团队系统地介绍智能金融及 ...
- Couleur(启发式 + 主席树)(终于补坑了)
ZOJ Problem Set - 4053 Couleur Time Limit: 6 Seconds Memory Limit: 131072 KB DreamGrid has an a ...
- Redis 小调研
一. 概况: Redis是一款开源的.网络化的.基于内存的.可进行数据持久化的Key-Value存储系统.它的数据模型建立在外层,类似于其它结构化存储系统,是通过Key映射Value的方式来建立字典以 ...
- linux 查看服务器序列号(S/N)
[root@node1~]# dmidecode -t 查看支持的参数 dmidecode: option requires an argument -- 't' Type number or key ...
- hadoop.io.native.NativeID$Windows.access0 报错问题解决
系统:win10 hadoop-2.6.0版本 java:1.8 版本32位 wordcount在本地运行时报错: Exception in thread "main" jav ...
- 转载-------- JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】
转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,J ...
- C++11中的技术剖析(萃取技术)
从C++98开始萃取在泛型编程中用的特别多,最经典的莫过于STL.STL中的拷贝首先通过萃取技术识别是否是已知并且支持memcpy类型,如果是则直接通过内存拷贝提高效率,否则就通过类的重载=运算符,相 ...
- css导行下拉动画
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...
- thinkphp 防止XSS(跨站脚本攻击)
XSS(跨站脚本攻击)可以用于窃取其他用户的Cookie信息,要避免此类问题,可以采用如下解决方案: 直接过滤所有的JavaScript脚本: 转义Html元字符,使用htmlentities.htm ...
- python pillow模块用法
pillow Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库.pillow可以说已经取代了PIL,将其封装成python的库(pip即可安装),且支持pytho ...