2015-09-21 66 views
1

我正在試驗Spring框架的MockMvc。要調用執行MockMvc的方法,我需要有一個進口如下靜態庫的導入如何在Java/Spring中工作?

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

部分代碼

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

我知道get方法是靜態的,但它是我第一次看到進口有靜態關鍵字。有人能夠向我解釋這一點嗎?爲什麼需要static關鍵字?爲什麼只有方法被導入?我對此有點困惑。

+0

[一個幾乎相同的問題](https://stackoverflow.com/questions/14209169/static-import-in-java)在過去關閉。雖然我不知道爲什麼。 (儘管如此,它仍然有很好的答案。) – 5gon12eder

+2

[「import」之後的「static」修飾符的含義是什麼意思?](http://stackoverflow.com/questions/162187/what-does-the-static-modifier-後導入的意思) – zapl

+0

它更短,然後編寫'this.mockMvc.perform(org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get(「/」))''沒有導入:) – zapl

回答

3

它正在導入MockMvcRequestBuilders類中的靜態get()方法。這意味着你可以直接調用它(不做MockMvcRequestBuilders.get())。

這適用於任何靜態方法或另一個類中的字段 - 它不是特別的spring/MockMvc事物。同樣,你不需要需要進口本身,它只是提供一個速記符號。