【问题标题】:How imports of static libraries work in Java / Spring?静态库的导入如何在 Java / Spring 中工作?
【发布时间】:2015-09-21 23:01:32
【问题描述】:

我正在试验 Spring 框架的 MockMvc。要调用 MockMvc 的 perform 方法,我需要导入如下

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;

部分代码

 this.mockMvc.perform(get("/")).andExpect(view().name("homePage"));

我知道 get 方法是静态的,但这是我第一次看到 import 有 static 关键字。有人可以向我解释吗?为什么需要静态关键字?为什么只导入方法?我对此有点困惑。

【问题讨论】:

  • An almost identical question 过去已关闭。虽然我真的不知道为什么。 (不过它有很好的答案。)
  • 它比写this.mockMvc.perform(org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get("/")) 更短:)
  • @zapl 2013 年 1 月的问题被关闭为“不是一个真正的问题”,2013 年 7 月的问题得分 +141。我明白了……
  • @5gon12eder 是的,有时它相当随意。尤其是简短回答的简短问题

标签: java spring junit spring-test spring-test-mvc


【解决方案1】:

它在MockMvcRequestBuilders 类中导入静态get() 方法。这意味着您可以直接调用它(无需执行MockMvcRequestBuilders.get()。)

这适用于另一个类中的任何静态方法或字段 - 它不是专门的 spring / MockMvc 事物。同样,您不需要 本身的导入,它只是提供了一个速记符号。

【讨论】:

    猜你喜欢
    • 2014-06-14
    • 2012-09-12
    • 2013-01-02
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多