Spring@Value注解
@Value 注解有两种方式,@Value(“${}”)和@Value(“#{}”)两种方式
第一种 @Value(“${}”)是用来获取配置文件
第二种@Value(“#{}”)是用来表示 SpEl 表达式通常用来获取 bean 的属性,或者调用 bean 的某个方法。
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 点击跳转浏览。
$号用法----获取application.yml文件中port
先说配置文件中属性的注入
server:
port: 8129
测试代码如下
@Value("${server.port}")
private String port;
@Test
public void getPort(){
System.out.println("############" port "############");
}
测试结果如下
$号用法-----测试获取自定义的配置文件中的属性
先配置自定义配置文件
1,在application.yml文件中加上这一句
2,然后编写application-config.yml配置文件,加上测试属性中多个值的情况
测试代码如下
// 测试自定义的配置文件
@Value("${user.password}")
private String password;
@Test
public void getPassword(){
System.out.println(password);
}
//测试配置多个值
@Value("${users}")
private String[] toolArray;
@Value("${users}")
private List<String> toolList;
@Test
public void getTools(){
System.out.println(toolArray);
// 反射得到其类型
String typeName = toolList.getClass().getTypeName();
System.out.println(typeName);
System.out.println(toolList);
}
测试结果如下:
测试自定义配置文件中的属性结果:
测试数组类型结果:
不加#号或者$号的注入,用途暂未知
代码如下:
@Value("hello")
private String value;
@Test
public void getValue(){
System.out.println(value);
}
测试结果如下
#号的用法,注入其他Bean中的属性
先创建一个Bean并且注入到spring容器中
@Component("myBeans")
public class other {
@Value("hello")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
测试方法如下:
// 注入其他Bean的属性
@Value("#{myBeans.name}")
private String fromAnotherBean;
@Test
public void getFromAnotherBean(){
System.out.println(fromAnotherBean);
}
结果如下:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgakeeh
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01