我正在寻找一种扩展Spring Security Expressions以支持现有安全基础设施的方法。我知道你可以像这里描述的那样扩展MethodSecurityExpressionRoot,但我也发现reference可以通过Spring Expression Language(Spring EL或SpEL)直接调用静态方法。不幸的是,Spring Expression方法上的official page并没有直接描述如何做到这一点。
如何通过Spring Expression方法调用静态方法?
1条答案
按热度按时间0sgqnhkj1#
使用
T(fully.qualified.name).methodName()
语法:您可以使用特殊的
T
运算符来指定java.lang.Class
(类型)的示例。静态方法也可以使用此操作符调用。StandardEvaluationContext
使用TypeLocator
查找类型,StandardTypeLocator
(可以替换)是在理解java.lang
包的情况下构建的。这意味着T()
对java.lang
中的类型的引用不需要完全限定,但所有其他类型引用必须完全限定。T
元素返回对类型的引用,而不是示例。例如,Collections.singleton("Hello")
的等效值为