Spring Boot 學習筆記

參考:SpringBoot教程html

  Spring Boot是爲了簡化Spring應用的建立、運行、調試、部署等而出現的,使用它能夠作到專一於Spring應用的開發,而無需過多關注XML的配置。Spring Boot特性以下:java

  • 建立獨立Spring應用程序
  • 嵌入式Tomcat,Jetty容器,無需部署WAR包
  • 簡化Maven及Gradle配置
  • 儘量的自動化配置Spring
  • 直接植入產品環境下的實用功能,好比度量指標、健康檢查及擴展配置等
  • 無需代碼生成及XML配置

1、簡單的SpringBoot應用

1. 新建一個Maven項目web

2. 配置pom.xmlspring

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sa.springboot</groupId>
    <artifactId>spring-boot-sample-helloworld</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <!-- 經過繼承parent項目得到默認配置,包括默認使用Java 8,UTF-8編碼;識別classpath下的application.properties和application.yml等 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.0.RELEASE</version>
    </parent>

    <!-- 預約義的一些Web開發的經常使用依賴,包括Tomcat、jackson和spring-webmvc等 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

3. 編寫Controllerapache

package com.sa.springboot.controller;
import ...

@RestController // @Restcontroller至關於@Controller(類的註釋)和@ResponseBody(方法的註釋)的結合,使方法以json格式輸出
@EnableAutoConfiguration // same as @SpringBootApplication,@Configuration,@ComponentScan.它會根據你的pom配置來判斷這是一個什麼應用(如web應用),並建立相應的環境。
public class SampleController {

    @RequestMapping("/hello")
    String home() {
        return "Hello World!!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args); // 從main方法啓動Spring應用的類,建立ApplicationContext實例且加載全部單例beans。
    }
}

4. 執行main方法,並使用瀏覽器訪問http://localhost:8080/hellojson

單元測試api

@RunWith(SpringRunner.class)
@SpringBootTest
public class SampleControllerTest {
    private MockMvc mvc;
    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new SampleController()).build();
    }
    @Test
    public void getHello() throws Exception {
    mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andDo(MockMvcResultHandlers.print())
                .andReturn();
    }
}
View Code

開發環境的調試:springBoot對調試支持很好,修改以後能夠實時生效,須要添加如下的配置:瀏覽器

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
   </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
   </plugins>
</build>
View Code

2、支持JSP

  springboot內部對jsp的支持並非特別理想,其推薦的視圖是Thymeleaf,但大多數java開發人員仍是喜歡使用jsp。使用jsp的步驟以下:tomcat

1. 添加依賴springboot

<!-- 對jsp的支持 -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- jsp對servlet容器的支持  -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- jsp中使用jstl標籤的支持  -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

2. 

相關文章
相關標籤/搜索