SpringBoot @Value读取配置的值
SpringBoot 读取properties文件/配置中心的属性,可以有以下两种方式:
一、@Value注解
SpringBoot在application.properties文件中,可以自定义属性。
在properties文件中如下示:
#自定义属性
mail.fromMail.addr=xx@163.com
接着,在类中可以通过@Value获取对应内容并赋值。
@Value("${mail.fromMail.addr:xx@163.com}")
private String addr;
注意:
1.在括号和变量中间,不要出现多余的空格,会导致变量无法识别。
2.最好设置一个默认值,以免报错。冒号后面的值,表示默认值。。如果读取不到值,就采用默认值。
二、Environment类
如果@Value读取properties文件一直出错,可能是pom.xml中的<resources>配置错误的原因。
也可以使用Environment类读取属性。
如下所示:
@Autowired private Environment environment;
假设properties文件中的变量名仍然是mail.fromMail.addr,读取方式如下:
String value=environment.getProperty("mail.fromMail.addr");