当前位置: 首页 > 面试题库 >

在Spring注释中使用静态变量

陈志
2023-03-14
问题内容

我正在使用spring的PreAuthorize注释,如下所示:

@PreAuthorize("hasRole('role')");

但是,我已经在另一个类上将“角色”定义为静态字符串。如果我尝试使用此值:

@PreAuthorize("hasRole(OtherClass.ROLE)");

我收到一个错误:

org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 14): Field or property 'OtherClass' cannot be found on object of type 'org.springframework.security.access.expression.method.MethodSecurityExpressionRoot'

有没有办法使用PreAuthorize批注访问此类静态变量?


问题答案:

尝试以下使用Spring Expression Language评估类型的方法:

@PreAuthorize("hasRole(T(fully.qualified.OtherClass).ROLE)");

确保指定完全限定的类名。

文献资料



 类似资料:
  • 问题内容: 在android中,推荐使用静态变量吗?例如,用Java实现Singleton模式,我通常这样做: 此外,Android JVM何时可以清除此漏洞? 问题答案: 字段会整体附加到实例,而实例又附加到加载了类的。整个回收时将被卸载。我确信这会在销毁该应用程序时发生(不是在它进入后台或暂停但完全关闭时发生)。 因此,只要你的应用程序运行,就可以将其视为生存。Singleton是个好主意吗?

  • 当使用静态变量确保触发器只触发一次时,我们注意到测试类中的一些有趣行为。考虑以下触发器、类和testclass: 触发: 类: 测试类: 基于这一点,我期望100%的代码覆盖率,但当您运行这一行时,就会出现RecursiveClass。DostuffinUpdate();中,触发器将不会执行,因为静态变量似乎仍在设置中。根据我在文档中读到的内容,静态变量仅在整个事务中保存(即插入或更新)。测试类中

  • 我试图转换一些使用Jackson的@JsonSubTypes注释来管理多态性的Java代码。 以下是可用的Java代码: 以下是我认为等效的Kotlin代码: 但我在三行“JsonSubTypes.Type”中的每一行都会出现以下错误: 知道吗?

  • 问题内容: 为什么有Java不允许覆盖静态方法?,它声称在Java中不允许覆盖静态方法。但这似乎在OpenJDK中有效: 在不使用时,可以编译这两个类,但在编译时会失败。要重现此文件,文件如下所示。 和这样的文件: 使用时,该错误是IS 当移除时,输出是所述的,方法。 javac是OpenJDK的版本。 错误在哪里?(理想情况是将其添加到静态方法中,但回答这是in的错误,或者我的想法也不错) 问题

  • 问题内容: 我是Spring的新手,遇到了这个问题。我尝试在该方法上使用@Autowired,但没有成功,在变量上,我从Eclipse中收到错误消息“该位置不允许使用@Autowired注解”。我在xml中创建了所需的bean。 下面是代码,此方法在抽象类内。 (ps我是stackOverflow的新手,希望我正确格式化了问题:)) 问题答案: 如果有可能可以让你把和成静态属性可以通过利用注入他们

  • 问题内容: 在我的一个班级中,有一个成员,我需要在!中设置该值 !也就是说,我们是否可以为此静态属性注入一个值? 问题答案: 是的,此链接上有一个示例http://planproof-fool.blogspot.com/2010/03/spring-setting-static- fields.html