java - 什么是 Java/SpringBoot 中的井号 (#)?

标签 java spring-mvc spring-boot

这个问题很可能以前有人问过。但我找不到它,因为在 Google 中搜索真正的主题标签似乎很困难。我想这不叫话题标签,它是我的英语(第二语言)让我失望的相对罕见的时刻之一。

因此,尽管这是重复的,但我还是主张将其保留在网站上,以便更容易通过 Google(以及 SO 网站本身!)进行搜索。

我有以下代码。

@GetMapping("/users")
@Timed
@PreAuthorize("hasAuthority('ADMINISTRATOR') or #oauth2.hasScope('some-user-list')")
public ResponseEntity<List<UserDTO>> getAllUsers(@ApiParam Pageable pageable) {
    final Page<UserDTO> page = userService.getAllUsers(pageable);
    HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/users");
    return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
}

# 是什么意思(特别是对于 #oauth2,我知道身份验证是什么以及 oauth 的作用,我只是不明白 # 作为 Spring 中的一个概念)?怎么称呼?这似乎与Java语言本身无关,那么Spring Boot是如何调用这个概念的呢?

最佳答案

它是 Spring Expression Language 的一部分( Spring EL)。

它允许您编写动态表达式、条件和其他不可能(或至少非常笨拙)的东西。

类似的表达式语言存在于其他框架(例如 JSF EL)中,并且它们通常在语法上看起来非常相似。

关于java - 什么是 Java/SpringBoot 中的井号 (#)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52002697/

相关文章:

java - 创建子类时出现 StackOverflowError

java - 我在哪里定义 `springSecurityFilterChain` bean?

java - Spring Integration 5.1 - 使用@IntegrationConverter 的集成流转换不起作用

spring-boot - 我可以从 Spring Boot 2 执行器集成中删除执行器字以进行健康检查吗

java - org.springframework.beans.NotReadablePropertyException : Invalid property of bean class. Thymeleaf + SpringBoot

java - 如何实现广度优先遍历?

java - Spring MVC : how to intercept 404 before returning error page/response?

java - Spring Data 可分页 : Returns empty content

java - 谁能解释一下Action和ActionForm的概念?

spring saml - IDP 发起的 SSO