Spring Boot介紹 Spring Boot RESTfull API快速搭建

簡介

        Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot 致力於在蓬勃發展的快速應用開發領域(rapid application development)成爲領導者。

        從 Spring Boot 項目名稱中的 Boot 可以看出來,Spring Boot 的作用在於創建和啓動新的基於 Spring 框架的項目。它的目的是幫助開發人員很容易的創建出獨立運行和產品級別的基於 Spring 框架的應用。Spring Boot 會選擇最適合的 Spring 子項目和第三方開源庫進行整合。大部分 Spring Boot 應用只需要非常少的配置就可以快速運行起來。
    
        Spring Boot 包含的特性如下:
            創建可以獨立運行的 Spring 應用。
            直接嵌入 Tomcat 或 Jetty 服務器,不需要部署 WAR 文件。
            提供推薦的基礎 POM 文件來簡化 Apache Maven 配置。
            儘可能的根據項目依賴來自動配置 Spring 框架。
            提供可以直接在生產環境中使用的功能,如性能指標、應用信息和應用健康檢查。
            沒有代碼生成,也沒有 XML 配置文件。

        通過 Spring Boot,創建新的 Spring 應用變得非常容易,而且創建出的 Spring 應用符合通用的最佳實踐。只需要簡單的幾個步驟就可以創建出一個 Web 應用。

開發環境配置

        如果開發環境爲Eclipse,Spring Boot推薦我們安裝它的插件Spring Tool Suite,可以快速實現Spring Boot的項目搭建等

        實現熱部署
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
        代碼有修改(修改代碼、新增方法、新增類等),會自動編譯修改的代碼。
        關於Spring Boot 熱部署介紹:http://blog.csdn.net/zhoujinyu0713/article/details/46843115
        IDEA 無法實現熱部署配置:http://blog.csdn.net/wjc475869/article/details/52442484
        
        Spring 官方還提供一種熱部署的方式,不用重啓,但是新增方法和類是無法熱部署的,具體參考:http://docs.spring.io/spring-boot/docs/current/reference/html/howto-hotswapping.html

創建項目

        使用 IntelliJ IDEA 創建 Spring Boot項目
        
        其他一般都默認,後生成標準的maven項目,update下maven project 即可下載對應依賴,下載完的項目結構
        

        我們可以來分析下pom文件,只有一個如下的配置
<artifactId>spring-boot-starter-web</artifactId>
        查看依賴時會發現其中包含了 Spring MVC 框架、SLF4J、Jackson和 Tomcat 等依賴。這實際上 Spring 推薦的 Web 應用中使用的開源庫的組合
        
        
編寫並訪問API

        創建TestController 類
@RestController
@RequestMapping("test")
public class TestController {

/**
* 不區分get post
* localhost/test
* @author [email protected]
* @return
*/
@RequestMapping("")
String test() {
return "hello world";
}
}
        啓動*Application.java 即可啓動默認的內嵌容器
        
        訪問
        

 直接返回json

        直接返回json,自動編譯序列化爲json格式
/**
* 返回Mapjson
*
* @return
*/
@RequestMapping("testMap")
Map<String, Object> testMap() {
Map<String, Object> map = new HashMap<>();
map.put("name", "jerome");
map.put("age", 26);
return map;
}

/**
* 返回Listjson
*
* @return
*/
@RequestMapping("testList")
List<String> testList() {
List<String> list = new ArrayList<>();
list.add("蘇志達");
list.add("jerome");
return list;
}

/**
* 返回實體的json
*
* @return
*/
@RequestMapping("testModel")
User testModel() {
User user = new User("蘇志達", 26, 0, new Date(), 99.6);
return user;
}
返回格式效果:
        

        (對於以上時間格式的問題可以修改配置文件:application.properties
#時間格式化
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#時區設置
spring.jackson.time-zone=Asia/Chongqing

訪問資源


        我們只要將靜態資源放到 resources/static 即可通過項目跟路徑直接訪問
        
打包部署

        在項目根路徑下使用maven命令打包:mvn clean package 

        將target目錄下的jar拷貝,並運行項目: java –jar demo_spring_boot-0.0.1-SNAPSHOT.jar 


參考
        
代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章