【发布时间】:2016-08-09 23:42:27
【问题描述】:
我遇到了 Spring 的问题,我必须使用注释加载系统属性。
我正在尝试这种方法:
@Value("${mySystemProperty}")
private String mySystemPropertyValue;
但是当我做这个时:
System.out.println("mySystemPropertyValue="+mySystemPropertyValue);
System.out.println("system.mySystemProperty="+System.getProperty("mySystemProperty"));
返回:
mySystemPropertyValue=null
system.mySystemProperty=myValue
怎么了?
谢谢
编辑
我正在尝试所有方法,但我总是为每个系统属性返回一个空值。
我也试过了:
@Autowired
private Environment environment;
但“环境”变量为空...
【问题讨论】:
-
System.out放在哪里?也是 Spring 托管 bean 上的@Value或只是一个普通的东西。 -
我尝试了@Value("#{systemProperties['mySystemProperty']}") 和@Value("#{systemProperties.mySystemProperty}"),但我总是得到 null 作为回报。跨度>
-
我的属性名称有一个“-”字符(确切的名称是“my-property”)。但我不认为这取决于它......
标签: java spring spring-mvc