欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Springboot中@Value的使用详解

时间:2020-12-03 16:51:11|栏目:JAVA代码|点击:

Springboot通过@Value注解将配置文件中的属性注入到容器内组件中(可用在@Controller、@Service、@Configuration、@Component等Spring托管的类中) 

1.普通字符串注入

例:yml中存在key:

name: zs

@Value注入

@Value("${name}")
public String name;

当yml中的name没有对应值时,即yml中为:

name:

此时字符串name的值为""

可设置注入属性的默认值(当配置文件中没有此key时,此默认值生效),语法:

@Value("${name:zch}")

public String name;// 此时,若配置文件中没有name这个key,变量name的值为zch

2.常用的int、boolean类型

例:

yml中存在key:

port: 8888

flag: true

@Value注入

@Value("${port}")

public int port;

@Value("${flag}")

public boolean flag;

3.数组类型

例:

yml中存在key:

id: 1,2,3

@Value注入

@Value("${id}")

public int[] idArray;

当yml中id没有对应值时,数组idArray为非null空数组,长度为0

4.list类型

例:

yml中存在key:

id: 1,2,3

@Value注入

@Value("#{'${id}'.split(',')}")

public List<String> idList;

当yml中id没有对应值时,集合idList长度为1,存在值""  (原本以为是空集合,造成bug,特记录)

5.map类型

例:

yml中存在key:

user: "{name: 'zs',age: '23'}" #注意此值用双引号包裹

@Value注入

@Value("#{${user}}")

public Map<String,String> userInfo;

当yml中user没有对应值是,启动报错

#{}表示使用SpEL表达式,(此处是来自未来的文章超链接,正在路上)

上一篇:浅谈常用字符串与集合类转换的工具类

栏    目:JAVA代码

下一篇:Java获取汉字拼音的全拼和首拼实现代码分享

本文标题:Springboot中@Value的使用详解

本文地址:http://www.codeinn.net/misctech/28849.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有