1. 程式人生 > >【springboot 入門篇】第1篇 第一個spring-boot程式(多種搭建方式)

【springboot 入門篇】第1篇 第一個spring-boot程式(多種搭建方式)

學習一個新技術,先別管他的原理啊,流程啊,怎麼組織程式碼啊什麼的。直接從官網或者部落格抄一個小demo,自己親自跑一遍,然後再去看那一堆讓人頭皮發麻的講解,就能相對容易的看懂了。

初學者的態度應該是:不要問我為什麼,反正我就是可以這樣執行!

1. 建立一個spring boot專案可以使用哪些工具

1.1 使用start.spring.io

這是一個網站,可以在這個網站選擇你需要的元件,然後會自動生成一個專案檔案,你可以將它下載到本地,然後使用你常用的編譯器開啟就好。(它是下面三種方法的基礎)

1.2 使用Spring Tool Suite(STS)

STS是eclipse的一個外掛,可以方便eclipse使用者進行spring boot的開發。

1.3 使用Intellij IDEA

IDEA 集成了spring boot(也是一個外掛),idea對新技術的支援比較快,而且是最好用的java編譯器(我認為的)。推薦大家使用它進行開發,教程可以參考我寫的文章。

1.4 使用Spring boot CLI

Spring boot的命令列工具,可以很方便的操作spring專案。

接下來會逐一演示這四種方法。

2. 實戰:建立第一個spring boot專案

2.1 使用start.spring.io

專案配置

開啟這個網站,設定你的專案,選擇需要的dependencies。然後點選生成專案。就可以把專案下載到本地了。

專案結構

下載下來的就是一個maven專案,你可以使用你熟悉的ide開啟它,然後進行程式碼的編寫。

2.2 使用Spring Tool Suite(STS)

首先,你需要安裝這個外掛。

安裝STS

安裝好後,選擇建立一個spring stater專案:

建立專案

專案設定:

專案設定

看到了麼,start.spring.io O.O

版本和依賴選擇:

版本和依賴選擇

完成

完成

2.3 使用Intellij IDEA

使用idea

選擇spring initializr,然後選擇jdk版本,點next。可以發現,idea的這個外掛其實用的也是start.spring.io。

接下來配置你的專案:

配置你的專案

選擇你需要的依賴和版本:

選擇你需要的依賴和版本

設定專案名和位置:

設定專案名和位置

完成:

完成

2.4 使用Spring boot CLI

2.4.1 下載安裝:(當前最新版1.5.3)
- 方法1,手動安裝,下載下面的壓縮包,提供兩種壓縮格式。

下載完成後,遵循解壓後的存檔裡的INSTALL.txt操作指南進行安裝。一般而言,在.zip檔案的bin/目錄下存在一個spring指令碼(Windows下是spring.bat),或者使用java -jar來執行一個.jar檔案(該指令碼會幫你確定classpath被正確設定)。

  • 方法2,使用SDKMAN安裝
    SDKMAN! (The Software Development Kit Manager) 可以用來管理多種有許多版本的sdk,包括groovy和spring boot cli。可以通過 sdkman.io來獲得sdkman,然後通過它來安裝cli。:
$ sdk install springboot
$ spring --version
Spring Boot v1.5.3.RELEASE
  • 1
  • 2
  • 3

你也可以通過配置,來獲取其他版本的CLI:

$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-1.5.3.RELEASE-bin/spring-1.5.3.RELEASE/
$ sdk default springboot dev
$ spring --version
Spring CLI v1.5.3.RELEASE
  • 1
  • 2
  • 3
  • 4
  • 方法3,如果你是mac使用者,可以使用Homebrew:
$ brew tap pivotal/tap
$ brew install springboot
// 會安裝到/usr/local/bin
  • 1
  • 2
  • 3
  • 方法4,mac使用者也可以使用MacPorts安裝:
$ sudo port install spring-boot-cli
  • 1

命令列實現:
Spring Boot CLI啟動指令碼為BASHzsh shells提供完整的命令列實現。你可以在任何shell中source指令碼(名稱也是spring),或將它放到你個人或系統範圍的bash實現初始化中。在一個Debian系統裡,系統範圍的指令碼位於/shell-completion/bash
下,當一個新的shell啟動時該目錄下的所有指令碼都被執行。想要手動執行該指令碼,例如,你已經使用GVM進行安裝了:

$ . ~/.gvm/springboot/current/shell-completion/bash/spring
$ spring 
  grab  help  jar  run  test  version
  • 1
  • 2
  • 3

如果你使用Homebrew或MacPorts安裝Spring Boot CLI,命令列實現指令碼會自動註冊到你的shell。

恩,上面撤了一堆,都是安裝CLI的方式,翻譯自官網,選一種方式安裝就好了。安裝成功後:

2.4.2 建立一個專案:

輸入命令:

使用CLI

$ mkdir demo
$ cd demo
$ spring init -d=web -g=com.example -a=demo --package-name=com.example --name=demo -x
  • 1
  • 2
  • 3

-d(dependencies 依賴包)
-g(Group Id)
-a(Artifact Id)
–package-name(Package name)
–name(Project name)
-x(Extract compatible archives)

更多詳情可以輸入spring help init檢視。

檢視結果:

結果

和之前的建立方式得到的是一樣的。

無論哪種建立方式都是要訪問https://start.spring.io來獲取模板工程程式碼。所以甚至可以使用CURL或HTTPie這些第三方工具來建立。當然。。建立個工程而已,沒必要這麼麻煩,直接idea不就好了?

3. 編寫程式碼及程式碼核心部分的分析

建立好工程了,接下來,我們簡單的寫一個小demo。

3.1 簡單的小demo。

開啟DemoApplication.java 修改程式碼為:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class}) //移除自動注入資料來源
@RestController  // 添加了一個註解
public classDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
    //添加了一個方法
    @RequestMapping("/hello")
    public String hello(){
        return "no hello world";
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

直接執行這個main方法:

執行結果

瀏覽器訪問

大功告成。第一個spring boot專案完成。

3.2 程式碼簡單講解

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
 //移除自動注入資料來源
  • 1
  • 2

現在新版本的springboot會自動注入資料來源,所以需要在application配置檔案裡寫你的資料庫資訊,但是我們暫時用不到它,所以先把這個功能移除,不然會報錯。

@RestController
  • 1

這個一個組合註解,相當於@ResponseBody@Controller,controller大家都知道,ResponseBody註解將內容或物件作為 HTTP 響應正文返回。

public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
}
  • 1
  • 2
  • 3

這個就是spring boot的入口。關於這個方法,我們以後會詳細講解。

    @RequestMapping("/hello")
    public String hello(){
        return "no hello world";
    }
  • 1
  • 2
  • 3
  • 4

寫過springmvc的應該都懂吧,我就不多說了。由於只是演示,所以我就把它放在入口類中了,規範點應該自己寫controller類的。

4. 小結

建立一個spring boot的專案是非常方便的,由於start.spring.io的存在,你可以使用任何你喜歡的ide來快速開發spring boot專案。

從建立到執行,你會發現,我們沒有建立任何一個xml,也沒有多餘的配置。建立好專案以後,寫一個controller就可以運行了,非常的方便。

後面和資料庫對接,做安全驗證的時候你會發現,原來一切都可以這麼簡單。

本篇文章到這裡就結束了。如果文章內容有錯誤,請及時與我聯絡。

文章首發自簡書,轉載請註明出處

相關推薦

springboot 入門1 一個spring-boot程式多種搭建方式

學習一個新技術,先別管他的原理啊,流程啊,怎麼組織程式碼啊什麼的。直接從官網或者部落格抄一個小demo,自己親自跑一遍,然後再去看那一堆讓人頭皮發麻的講解,就能相對容易的看懂了。 初學者的態度應該是:不要問我為什麼,反正我就是可以這樣執行! 1. 建立一個spring boot專案可以使用

1次作業------四則運算題目生成程序基於控制臺

參數 cls tab 信息 pan report 範圍 gpo 式表 https://git.coding.net/YelCong/Soft.git 需求分析 1. 使用 -n 參數控制生成題目的個數,例如 Myapp.exe -n 10 -o Exercis

Katalon學習十三Katalon Studio 專案之 API/Web Service Project5.8以上

Katalon Studio 5.8引入了新的API/Web Service測試專案。這個顯著改進的特性允許您將API/Web Service測試過程從Web UI和移動測試中分離出來——減少專案的混亂。您還可以在Katalon Studio上執行更多的API/Web Service自動化任務,例如

矩陣快速冪HDU 4549 : M斐波那契數列矩陣巢狀

【題目大意】 M斐波那契數列F[n]是一種整數數列,它的定義如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 現在給出a,

ACM暑假培訓遞迴演算法3:跳棋的挑戰八皇后問題

3、Checker Challenge 跳棋的挑戰 譯 by Jeru 檢查一個如下的6 x 6的跳棋棋盤,有六個棋子被放置在棋盤上,使得每行,每列,每條對角線(包括兩條主對角線的所有對角線)上都至多有一個棋子。列號上面的佈局可以用序列2 4 6 1 3 5來描述,第i個數

MySQLWindows系統下安裝MySQL 5.6.37壓縮包方式

Windows系統下安裝MySQL 5.6.37(壓縮包方式) 1、下載安裝介質 安裝介質:mysql-5.6.37-winx64.zip 下載地址:http://blog.csdn.net/kerafan/article/details/780018492、解壓安裝介質

MOOC清華《程式設計基礎》6章1題:n級臺階問題遞推法

題目描述 下n級臺階,每步可下1級或2級臺階。那麼從n級臺階下到地面,共有多少種不同的下臺階方案? 輸入:n 輸出:方案數 輸入格式 多行輸入,每一行輸入一個正整數n,表示n級臺階 輸出格式 每一行輸出n級臺階的方案數 樣例輸入 1 2 樣例輸出 1 2 D

資料結構05紅-黑樹基礎----二叉搜尋樹Binary Search Tree

目錄 1、二分法引言 2、二叉搜尋樹定義 3、二叉搜尋樹的CRUD 4、二叉搜尋樹的兩種極端情況 5、二叉搜尋樹總結 前言 在【演算法04】樹與二叉樹中,已經介紹

情人節選帽子TCS34725顏色感測器和Python圖形介面程式設計STM32 HAL庫

截圖    描述: l  STM32 HAL庫程式設計 l  使用模擬IIC通訊,方便程式移植 l  Python介面編寫,蘑菇頭的帽子是什麼顏色 l  STM32 HAL庫串列埠通訊 l  Python介面使用Pygame  

我的一個spring boot程序spring boot 學習筆記之二

獲取json 了解 訪問 static 依賴 過程 public 獲取數據 gap 第一個spring boot程序 寫在前面:鑒於spring註解以及springMVC的配置有大量細節和知識點,在學習理解之後,我們將直接進入spring boot的學習,在後續學習中用到註

Spring Boot教程三十五使用MongoDB數據庫1

frame 既然 artifact html ace 數據庫 支持 高度 官網 MongoDB簡介 MongoDB是一個基於分布式文件存儲的數據庫,它是一個介於關系數據庫和非關系數據庫之間的產品,其主要目標是在鍵/值存儲方式(提供了高性能和高度伸縮性)和傳統的RDBMS系統

JavaWeb 實現一個Filter過濾器程式教材學習筆記

Filter被稱作過濾器,其基本功能就是對Servlet容器呼叫Servlet的過程進行攔截,從而實現一些特殊功能, Filter介面包含了三個方法 init()方法主要就是用來初始化過濾器,只會在web程式載入的時候呼叫一次 doFilter()方法是響應客戶端請求的,只要有請求就

Spring Boot 學習筆記一個 Spring boot 程式

  SpringBoot程式建立方式  1、建立一個Spring boot專案      1) 可以採用方式一: 使用 eclipse 的 Spring Tool Suite (STS) 外掛/或者 IDEA 自帶的外掛建立;    

一個Spring Boot程式啟動報錯了

建立完成第一個Spring Boot專案後,準備執行,嘗一下勝利的果實。 啟動日誌如下 . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_

一個Python小程式Hello World!

當安裝好python時,可以在命令提示符中直接輸入 python 就可以進入python自帶的編輯器(最好不要使用root使用者,因為當你不小心把資料給刪了,那可不是一般罪過啊!),如圖: 此

springboot 入門0 spring-boot是什麼

作為一個java程式設計師,如果你還不知道springboot,那你一定是落後了。 1. 什麼是springboot Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架

Python爬蟲開發1urllib2

返回JSON數據 驗證 ajax 本地磁盤 發送請求 doc 大寫 總結 錯誤 1、urlopen # urllib2_urlopen.py # 導入urllib2 庫 import urllib2 # 向指定的url發送請求,並返回服務器響應的類文件對象 respo

Python爬蟲開發1正則表達式

返回 true ccf color arch iter 子串 call last 1、正則表達式   它是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。 2、re

Python爬蟲開發1beautifulSoup4解析器

res tail {} nbsp catalog XML select 解析器 enc CSS 選擇器:BeautifulSoup4 Beautiful Soup 也是一個HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 數據。 pip 安裝:pip

Python爬蟲開發1爬蟲案例

selenium NPU word fun isa time input == 百度 案例一:網站模擬登錄 # douban.py from selenium import webdriver from selenium.webdriver.common.keys im