Spring 中的 systemProperties 是什么以及在哪里可以找到它?

Muk*_*rov 5 java spring system-properties spring-el

我正在看书Spring In Action,有一个例子:

public BlankDisc(@Value("#{systemProperties['disc.title']}" String title){
}
Run Code Online (Sandbox Code Playgroud)

但是systemProperties这里是什么以及在哪里声明它?我认为它是application.properties文件并添加到disc.title=Beatles那里。但是title变量的值是null在创建 bean 时。顺便说一下,我可以注入disc.titleif 我使用的值@Value("${disc.title}")

Din*_*esh 7

这是将在启动 jar 时设置的属性,如 "java -Dproperty.name="value" -jar app.jar"


Pio*_*r R 6

例如,如果您运行应用程序java -jar app.jar -Dmy.param=myParam

然后你可以创建bean

@Bean
public String myParam(){
   return System.getProperty("my.param");
}
Run Code Online (Sandbox Code Playgroud)

并通过注入@Autowiere