我有以下代码...
@Service
public class PropertiesService {
...
@Value("external.config.active") private String useExternalConfig
因此在intellij中,我将VM选项设置为...
-Dexternal.config.active=true
但是当我在应用程序中进行调试时,this.useExternalConfig.equals("external.config.active")
是真的。
在IJ的运行配置中如何设置Spring属性
更新我看到它在Java命令中提供了...
/.../ java -agentlib:jdwp = transport = dt_socket,地址= 127.0.0.1:53192,suspend = y,server = n -Dexternal.config.active = true -javaagent :/.../ Caches / IdeaIC2018.1 / groovyHotSwap / gragent.jar -javaagent:/.../ Caches / IdeaIC2018.1 / captureAgent / debugger-agent.jar = file:/ private / var / folders / 3d / 5f6dvvs573zg3ydvxbd0b0h40000gn / T / capture2.props -Dfile.encoding = UTF-8 -classpath
答案 0 :(得分:1)
@Value
使用值表达式${...}
或SpEL表达式#{...}
,因为您没有提供将使用的任何值。要替换属性,可以使用值表达式${name.of.property}
。
或者,如果您真的很喜欢铁杆,可以使用SpEL #{@environment.getProperty('name.of.property')}
。您会看到值表达式更容易。
答案 1 :(得分:0)
这似乎可行...
@Value("${external.config.active}")
基于...
The actual value expression: e.g. "#{systemProperties.myProp}".
这很奇怪,所以如果有人可以进一步解释,他们会得到支票。