在 YAML 中使用 Spring Boot SpEL
Use SpringBoot SpEL in YAML
是否可以在springboot yaml配置中使用SpEL调用静态方法函数?我想在端口范围内找到一个可用端口并设置服务器端口。我知道这可以通过编程方式完成,但很好奇是否可以仅在 YAML 中使用 SpEL 完成。我尝试了以下不起作用,因为它将 SpEL 视为 YAML 注释
server:
port: #{T(org.springframework.util.SocketUtils).findAvailableTcpPort(8000,9000)}
这个失败了,因为它试图将 SpEL 设置为端口的字符串
server:
port: "#{T(org.springframework.util.SocketUtils).findAvailableTcpPort(8000,9000)}"
The docs 说
Finally, while you can write a SpEL expression in @Value, such expressions are not processed from Application property files.
因此您需要将 SpEL 移至 @Value
注释,但可以通过 YAML 为其提供值。
是否可以在springboot yaml配置中使用SpEL调用静态方法函数?我想在端口范围内找到一个可用端口并设置服务器端口。我知道这可以通过编程方式完成,但很好奇是否可以仅在 YAML 中使用 SpEL 完成。我尝试了以下不起作用,因为它将 SpEL 视为 YAML 注释
server:
port: #{T(org.springframework.util.SocketUtils).findAvailableTcpPort(8000,9000)}
这个失败了,因为它试图将 SpEL 设置为端口的字符串
server:
port: "#{T(org.springframework.util.SocketUtils).findAvailableTcpPort(8000,9000)}"
The docs 说
Finally, while you can write a SpEL expression in @Value, such expressions are not processed from Application property files.
因此您需要将 SpEL 移至 @Value
注释,但可以通过 YAML 为其提供值。