Spring Boot 入門

Spring Boot 入門

建立項目

http://start.spring.io/

目錄規劃

- src/main/java 程序開發以及主程序入口
- src/main/resources 配置文件
- src/test/java 測試程序

java代碼目錄規劃

Spring Boot 建議的目錄規劃以下:java

com
  +- easy
    +- helloworld
      +- HelloworldApplication.java
      |
      +- model
      |  +- User.java
      |  +- UserRepository.java
      |
      +- service
      |  +- UserService.java
      |
      +- controller
      |  +- UserController.java
      |
  • 一、Application.java 建議放到根目錄下面,主要用於作一些框架配置
  • 二、model 目錄主要用於實體與數據訪問層(Repository)
  • 三、service 層主要是業務類代碼
  • 四、controller 負責頁面訪問控制

引入web模塊

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

也能夠在建立項目的時候直接選擇web依賴

spring-boot-starter :核心模塊,包括自動配置支持、日誌和 YAML,若是引入了 spring-boot-starter-web web 模塊能夠去掉此配置,由於 spring-boot-starter-web 自動依賴了 spring-boot-starter。
spring-boot-starter-test :測試模塊,包括 JUnit、Hamcrest、Mockito

編寫代碼

Controller 內容:git

@RestController
 public class HelloWorldController {
     @RequestMapping("/hello")
     public String index() {
         return "Hello World";
     }
 }
 
 @RestController默認都只提供Rest風格接口返回值,針對不須要返回頁面的Controller都採用RestController進行註解

啓動主程序

打開瀏覽器訪問 http://localhost:8080/hello,就能夠看到效果了,是否是很是簡單快速!

單元測試

打開的src/test/下的測試入口,編寫簡單的 http 請求來測試;使用 mockmvc 進行,代碼以下。github

package com.easy.helloworld;
    
    import com.easy.helloworld.controller.HelloWorldController;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.http.MediaType;
    import org.springframework.test.context.junit4.SpringRunner;
    import org.springframework.test.web.servlet.MockMvc;
    import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
    import org.springframework.test.web.servlet.setup.MockMvcBuilders;
    
    import static org.hamcrest.Matchers.equalTo;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class HelloTests {
        private MockMvc mvc;
    
        @Before
        public void setUp() throws Exception {
            mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
        }
    
        @Test
        public void getHello() throws Exception {
            mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                    .andExpect(status().isOk())
                    .andExpect(content().string(equalTo("Hello World")));
        }
    }

MockMvc使用參考官網,這裏不作介紹web

添加熱啓動支持

<!--開發環境熱部署插件-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

總結

使用 Spring Boot 能夠很是方便、快速搭建項目,使咱們不用關心框架之間的兼容性,適用版本等各類問題,咱們想使用任何東西,僅僅添加一個配置就能夠,因此使用 Spring Boot 很是適合構建微服務。spring

資料

示例代碼-github瀏覽器

相關文章
相關標籤/搜索