在实际开发中,项目中难免会有一些秘钥或者不经常使用到的配置信息,此时,就可以将这些配置信息统一写到配置文件中。随后使用@Value注解读取配置文件的值来向Spring中Bean的属性设置值。
例如,一些系统环境变量信息,数据库配置,系统通用配置等等,都可以保存到配置文件中,此时就可以使用Spring的EL表达式读取配置文件中的值
今天记载下读取配置文件的方法
1、读取项目该文件的配置文件数据
yml文件的格式如下:
代码里面使用
@Value("${mobile.orgCodg}")
private String orgCodg;
@Value 注解可以用来将外部的值动态注入到 Bean 中,在 @Value 注解中,可以使${} 与 #{} ,它们的区别如下:
(1)@Value("${}"):可以获取对应属性文件中定义的属性值。
(2)@Value("#{}"):表示 SpEl 表达式通常用来获取 bean 的属性,或者调用 bean 的某个方法
${...}的用法
{}里面的内容必须符合SpEL表达式, 通过@Value(“${spelDefault.value}”)可以获取属性文件中对应的值,但是如果属性文件中没有这个属性,则会报错。可以通过赋予默认值解决这个问题,如下所示。
@Value("${mobile.insCode:binghe}")
上述代码的含义表示向Bean的属性中注入配置文件中的mobile.insCode属性的值,如果配置文件中没有mobile.insCode属性,则向Bean的属性中注入默认值binghe。例如下面的代码片段。
@Value("${mobile.insCode:binghe}") private String insCode;