構(gòu)建 Spring Boot 項(xiàng)目
創(chuàng)建一個(gè) SpringBoot 項(xiàng)目,本文采用 JDK 1.8、SpringBoot 2.1.4.RELEASE、SpringCloud Greenwich.SR1 編寫,具體步驟如下:
-
創(chuàng)建一個(gè) Maven 工程,如下圖所示:
SpringBoot入門-1.png
-
在 pom.xml 添加 Spring Boot 依賴:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> <relativePath/> </parent> <!-- spring web --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> -
創(chuàng)建應(yīng)用 main 程序 Application.java,并編寫如下代碼:
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } -
創(chuàng)建一個(gè)Controller SimpleController.java,并編寫如下代碼:
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController public class SimpleController { @RequestMapping(value = "/hello", method = RequestMethod.GET) public String hello(){ return "Hello World!"; } } -
運(yùn)行 Application 類中的 main 方法,如下圖所示:
SpringBoot入門-3.png
如上圖所示,SpringBoot 應(yīng)用的服務(wù)端口為:8080 (默認(rèn)端口)
-
在瀏覽器中輸入 http://127.0.0.1:8080/hello,如下圖所示:
SpringBoot入門-4.png
SpringBoot 配置文件
Spring Boot 的默認(rèn)配置文件位置為 src/main/resources/application.properties,Spring Boot 的配置文件除了可以使用傳統(tǒng)的 propterties 之外,還支持 YAML 文件。
-
在默認(rèn)文件位置新建一個(gè) application.yml 文件,并編寫如下內(nèi)容
server: port: 8888 # 服務(wù)端口 spring: application: name: SpringBootDemo # 應(yīng)用名稱 -
重新啟動 Application.java 可以看到如下結(jié)果:
SpringBoot入門-5.png
-
Spring Boot 使用 spring.profiles.active 配置定義多個(gè)不同的環(huán)境配置。新建一個(gè) local 環(huán)境的配置文件 application-local.yml ,并修改 application.yml 內(nèi)容,如下所示:
spring: application: name: SpringBootDemo # 應(yīng)用名稱 profiles: active: local # 環(huán)境配置 -
重啟應(yīng)用,結(jié)果如下所示:
SpringBoot入門-6.png
SpringBoot 單元測試
-
在 pom.xml 添加如下依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <scope>test</scope> </dependency> -
在 test/java 的目錄下創(chuàng)建一個(gè)測試類 SimpleControllerTest.java,并編輯如下內(nèi)容:
@SpringBootTest @RunWith(SpringRunner.class) public class SimpleControllerTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); } @Test public void whenQuerySuccess() throws Exception{ MvcResult result = mockMvc .perform( MockMvcRequestBuilders .get("/hello") .param("username","success") .contentType(MediaType.APPLICATION_JSON_UTF8) ) .andExpect(MockMvcResultMatchers.status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn(); } }




