在 Spring 5.x 中,XML 配置文件可以通过 SpEL (Spring Expression Language) 从 Java 中读取静态变量或系统属性
在 Spring 5.3.9 中,XML 配置文件可以通过 SpEL (Spring Expression Language) 从 Java 中读取静态变量或系统属性,但需要注意一些限制。
对于你提供的例子,如果你想从 SystemVar 接口中读取 webRoot 静态变量,可以这样写:
<property name="workDirectory" value="#{T(reyo.sdk.controllers.SystemVar).webRoot}/logs/ignite/work_#{systemProperties['reyo.localPort']}"/>
关键点说明:
-
T()操作符用于指定完全限定的类名 -
对于静态变量,直接使用
.访问 -
可以结合系统属性和静态变量使用
注意事项:
-
确保类路径正确
-
静态变量必须是 public 的
-
表达式语法要正确,特别是包名和类名要完全限定
这种方式在 Spring 5.3.9 中是支持的,只要你的表达式语法正确,就能从 Java 类中读取静态配置参数。
浙公网安备 33010602011771号