java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > @Value设置默认值以及为static变量赋值

给@Value设置默认值以及为static变量赋值问题

作者:天黑请​闭眼

在Spring框架中,@Value注解用于属性注入,可将配置文件中的值赋给变量,未指定默认值时,若配置文件缺少相应属性,程序启动会报错,可通过设定默认值防止此问题,对于静态变量,由于@Value无法直接注入,需通过Set方法赋值,该方法也支持默认值设置

@Value用法

1、赋值时没有指定默认值

@Value("${server.port}")
private int serverPort;

配置文件对应配置如下

server.port=8080

如上,程序启动时会自动将配置文件对应的属性值赋值给对应的变量

注:

2、赋值时指定默认值

@Value("${server.port:8080}")
private int serverPort;

如上,如果在配置文件没有配置对应的属性,则使用8080作为默认值

3、为静态变量赋值

在某些特定的情况,需要为static的变量赋值,不能直接将@Value使用到静态变量上,这样无法将配置值注入到该静态变量

可以使用Set方法为静态变量赋值

private static int serverPort;
@Value("${server.port}")
public void setServerPort(Integer serverPort) {
	类名.serverPort = serverPort;
}

注:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文