当前位置: 首页 > 知识库问答 >
问题:

Split不能与AbstractEnVironment.GetProperty一起使用

阴凯歌
2023-03-14

我的application.properties文件中有以下属性。

test.product.release.version=2003.1

test.product.release.year=#{“${test.product.release.version}”。split(“[.]”)[0]

当我使用@value注释在spring控制器中使用属性test.product.release.year时,它给我的值为2003,但当我通过abstractenvironment#GetProperty获得它的值时,我获得的值为

#{“${test.product.release.version}”.split(“[.]”)[0]

如何使用AbstractenVironment获得值2003?

共有1个答案

孙光临
2023-03-14

不,不能在属性文件中使用SpEL。

最后,虽然您可以在@value中编写一个SpEL表达式,但这样的表达式不是从应用程序属性文件中处理的。

但是,您可以在属性文件中使用占位符,例如:

app.name=MyApp
app.description=${app.name} is a Spring Boot application

它允许您根据环境配置文件加载不同的配置。

 类似资料:
  • 我试图用DataJpaTest注释测试我的存储库,但出现了一些奇怪的情况。 当我使用经典的时,一切正常,我的测试成功了。但是当我使用下面的生成器时,我的测试失败了。 测试应该成功,但其他测试没有成功,因为没有抛出关于约束有效性的异常。 例如,这里有一个失败的断言: Java语言AssertionError:预期测试将抛出org的实例。springframework。道。DataIntegrityV

  • 问题内容: 我已经使用Selenium和最初的PhantomJS开发了一些Python脚本。在走向自动下载时,我改用了(带头的)Firefox(运行了),然后选择了无头选项的Chrome,这样我就不会打开浏览器了。 我的第一个脚本访问一个页面和几个HTML元素,与无头Chrome完美搭配。 但是第二个 仅适用于带头的Chrome 。如果添加“无头”选项,它将不再起作用。当我尝试以无头模式打印HTM

  • 问题内容: 我花了最后4个小时尝试在必须远程运行的Tomcat实例上设置Eclipse TPTP内存配置文件(即,不在Eclipse中运行)。根据TPTP和代理控制器文档,这应该是可能的。 根据网站上的指示,我将TPTP组件(4.6.0)与代理控制器一起安装到了Eclipse(Galileo)工作台中。为了启用代理,我在启动Tomcat实例的命令行中添加了以下选项: 并将以下目录添加到PATH的前

  • 问题内容: 我正在尝试将反斜杠替换为其他字符串。由于某些奇怪的原因,replaceAll函数不喜欢反斜杠。 我应该怎么做才能解决这个问题。 谢谢。 问题答案: 您需要将每个反斜杠加倍(再次),因为replaceAll()使用的Pattern类将其视为特殊字符: Java字符串将反斜杠视为转义字符,因此replaceAll看到的是:。但是replaceAll还将反斜杠视为转义字符,因此正则表达式成为

  • 问题内容: 我是Spring MVC框架的新手,但遇到一个我自己无法解决的问题。当我将Spring Security与我的应用程序集成后,一切都开始了,之后HTML表单中的所有unicode值都未编码(Spring Security正常工作)。我得出的结论是,发生这种情况的原因可能是因为我·被称为链中的第一个过滤器。 这是我认为可以使用的配置,但无效: 1)我正在从Javadoc扩展Abstrac

  • JavaFX不适合我使用IntelliJ。当它编译时,我在尝试启动时遇到一个异常。我在这里发现了类似的问题,似乎没有一个能解决我的问题。我得到的例外情况如下: 导致此异常所需的代码仅如下所示: 此外,使用Eclipse运行代码形式的旧Eclipse项目正在工作。但是,如果我将代码复制到IntelliJ,则会得到相同的Excure。我在项目设置中使用java 9 jdk。