使用@Value注解将变量进行自动注入的时候,经常会出现的一个问题就是我们可能会由于在配置参数中忘记设置该参数造成整个项目报错,其实我们可以通过给被@Value注解作用的变量进行注入的时候如果没有找到该配置参数时设置一个默认值,相当于是一个兜底的方案:
没有默认值的用法:
@Value("${spring.port}") private String port;
增加默认值的用法:
@Value("${spring.port:8080}") private String port;
这里需要注意的是:
即使你的配置参数的值是String类型的话也不需要加双引号
被static修饰的变量通过@Value会注入失败
如果是因为特定需求必须要给static变量进行@Value设值的话,可以采用下面这种方式
给static变量采用@Value设值
public static String port; @Value("${spring.port:8080}") public void setPort(String port){ Class.port = port; }