1. 程式人生 > >SpringBoot2.X最佳實踐《一》 之 SpringBoot2.x初體驗

SpringBoot2.X最佳實踐《一》 之 SpringBoot2.x初體驗

講解 mile height jar ide projects vat demo @param

SpringBoot2.X最佳實踐 前言

本系列文章,從零基礎接觸 SpringBoot2.x新版本,基礎入門使用,熱部署,到整合各個主流框架Redis4.x,消息隊列AciveMQ, RocketMQ等,搜索框架ElasticSearch5.6版本,到web-flux反應式編程,到Actuator監控應用信息,官方最佳實踐,最全的SpringBoot2.教程

技術選型和更新須知:

  • 采用最新的SpringBoot2.x版本

  • JDK1.8

  • IDEA或者Eclipse編輯器

  • Maven3.x版本

  • 其他框架比如分布式緩存Redis,搜索框架ElasticSearch,消息隊列RocketMQ和ActiveMQ等,均采用目前最新的版本


資料和開發工具準備:

  • JDK1.8下載:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  • Maven3.x下載:http://maven.apache.org/download.cgi

  • SpringBoot2.x官方文檔: https://spring.io/projects/spring-boot#overview


SpringBoot是什麽?

學過javaweb的同學就知道,開發一個web應用,從最初開始接觸Servlet結合Tomcat, 跑出一個Hello Wolrld程序,是要經歷特別多的步驟; 後來就用了框架Struts,再後來是SpringMVC,到了現在的SpringBoot,過一兩年又會有其他web框架出現;不知道你們有沒經歷過框架不斷的演進,然後自己開發項目所有的技術也再不斷的變化、改造,反正我是都經歷過了,哈哈。

言歸正傳,什麽是SpringBoot呢,就是一個javaweb的開發框架,和SpringMVC類似,對比其他javaweb框架的好處,官方說是簡化開發,約定大於配置, you can "just run",能迅速的開發web應用,幾行代碼開發一個http接口。

快速創建SpringBoot2.x應用

學任何框架,都從hello world開始,這個也不例外,我們先創建一個http接口,返回json數據。

SpringBoot官方提供了一個快速創建應用的工具“Spring Initializr” , 地址:http://start.spring.io

通過這個可以幫我們生成一個項目的基礎框架和目錄規範,操作如下圖的順序

技術分享圖片

1、下載後導入到IDEA或者Eclipse裏面,springboot默認加入了很多依賴包,所以需要從遠端的maven倉庫下載下來,初次導入需要下載很多的依賴包,會比較慢,不過也可以更改Maven倉庫地址為國內的的倉庫地址。

2、官方包目錄接口說明

技術分享圖片

3、Maven依賴文件講解

技術分享圖片核心配置文件在圖片上面,底部有很多暫時用不上的配置,比如倉庫地址可以去除,下面的pom文件的都可以去除

<repositories>
		<repository>
			<id>spring-snapshots</id>
			<name>Spring Snapshots</name>
			<url>https://repo.spring.io/snapshot</url>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>spring-snapshots</id>
			<name>Spring Snapshots</name>
			<url>https://repo.spring.io/snapshot</url>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</pluginRepository>
		<pluginRepository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>

編寫Http接口

1、新建一個包,domian用於存放實體類,並新建一個User.java類

package net.xdclass.demo.domain;
/**
 * 用戶類
 */
public class User {
    private int id;
    private String name;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

2、新建一個Controller,並建立一個UserController.java, 類加入註解@RestController (用於返回Json數據,如果用@controller的話,需要在加個@responseBody,才會返回json數據),新建一個findUser方法,方法上加個註解,@RequestMapping("find")

package net.xdclass.demo.controller;

import net.xdclass.demo.domain.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 使用 @RestController 定義一個控制器
 */
@RestController
public class UserController {
    
    /**
     * 定義一個接口,接受兩個參數
     * @param id
     * @param name
     * @return
     */
    @RequestMapping("find")
    public User findUser(int id, String name){
        User user = new User();
        user.setName(name);
        user.setId(id);
        return user;
    }
}

3、使用CMD或者命令行工具進入項目根目錄,把應用打包成一個可執行的jar包, 執行maven打包命令 mvn clean package

[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ demo ---
[INFO] Building jar: /Users/xdclass/Desktop/文章/第一篇/demo/target/demo-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.0.3.RELEASE:repackage (default) @ demo ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.459 s
[INFO] Finished at: 2018-07-16T08:34:57+08:00
[INFO] ------------------------------------------------------------------------


打包成功後最後會出現一個success,然後進入target目錄,裏面有個xxx.jar (xxx就是項目的名字)就是可以直接執行的jar包.


技術分享圖片

啟動 java -jar xxxx.jar, 啟動大概花10來秒,底部可以看到啟動成功的日誌,springboot默認端口是8080, 所以可以直接訪問

技術分享圖片

接口地址:http://localhost:8080/find?id=1&name=二當家小D

響應一個user對象,就成功了。

技術分享圖片

這就是一個成功的http接口,一個web應用就可以正常啟動了訪問和訪問了,如果要開發其他接口,繼續寫就可以了。

下一篇文章,講解Springboot2.x啟動流程和常用的註解、官方推薦的目錄規範


小編積累多年的幹貨文檔免費贈送,包含前端後端和測試,系統架構,高並發處理,優化等

技術分享圖片

SpringBoot2.X最佳實踐《一》 之 SpringBoot2.x初體驗