Spring boot中,如何使用Spel获取properties中的属性值

Spring狂人 发布于 2017/03/19 18:27
阅读 936
收藏 0

application.properties 配置了 app.name=Apache Tomcat

@SpringBootApplication
public class App {
    public static void main( String[] args) {
    	ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
    	ExpressionParser parser = new SpelExpressionParser();
    	Expression exp = parser.parseExpression("${app.name}");
    	System.out.println(exp.getValue(context));
    }
}

我想使用spel获取app.name的值,这样写为啥错了

Exception in thread "main" org.springframework.expression.spel.SpelParseException: EL1041E: After parsing a valid expression, there is still more data in the expression: 'lcurly({)'
	at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:130)
	at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:60)
	at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:32)
	at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:73)
	at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:60)
	at com.pp.boot.App.main(App.java:17)

 

加载中
0
Mr_K
Mr_K
"'${app.name}'"

 

Spring狂人
Spring狂人
不行,输出的结果是:${app.name}
返回顶部
顶部