SpringBoot2.X最佳實踐《一》 之 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初體驗