时间:2021-05-20
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的值为zch2.常用的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表达式,(此处是来自未来的文章超链接,正在路上)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们在Springboot中经常使用@Value注解来获取配置文件中的值,像下面这样@ComponentclassA{@Value("${user.value}
springboot中各种配置项纪录1.@Value最早获取配置文件中的配置的时候,使用的就是这个注解,SpEL表达式语言。//使用起来很简单@Value("$
使用SpringBoot实现excel生成和下载,生成模板如下controller@RequestMapping(value={"/downloadExcelT
JavaMap的排序实例详解要对Map中的key-value键值对进行排序,可以使用Collections类提供的sort方法。该方法允许用户使用自定义的排序方
Springboot使用mysql实例详解开发阶段用H2即可,上线时,通过以下配置切换到mysql,springboot将使用这个配置覆盖默认的H2。1.建立数