是否可以将系统属性用于@WebappConfiguration批注的值?我已经尝试过类似的东西:
@WebAppConfiguration("#{systemProperties['webapproot'] ?: 'war'}")
但这似乎根本不起作用。春季还有其他方法吗?我不想通过我们的构建工具来执行此操作,因为它会中断从IDE执行集成测试的过程。
最佳答案
@WebAppConfiguration
似乎不支持SpEL或占位符解析。
我以以下方式检查它:我尝试注入系统属性并使用@Value
解析占位符。当我尝试注入不存在的属性时,@Value
分别抛出SpelEvaluationException: EL1008E: Property or field 'asd' cannot be found on object of type 'java.util.Properties'
和IllegalArgumentException: Could not resolve placeholder 'nonexistent_property' in value "${nonexistent_property}"
失败,而@WebAppConfiguration
的value
只是简单地将#{systemProperties.asd}
和${nonexistent_property}
初始化为简单的String
。
关于java - 使用系统属性作为@WebAppConfiguration的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45480106/