如何在Intellij中运行配置中设置Spring属性

时间:2018-07-05 14:54:58

标签: spring intellij-idea

我有以下代码...

@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

2 个答案:

答案 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}".

这很奇怪,所以如果有人可以进一步解释,他们会得到支票。