Spring Boot 說明手冊

馬上開始

如果你是使用Spring Boot或者使用Spring開始妄讯,那這章就屬于你的!在這里我們會回答你最基本的問題“what”、“how”粉铐、和“why”的問題。我們會第一步構(gòu)建Spring Boot項目并討論一些核心的原則卤档,讓我們開始吧蝙泼。

Spring Boot是什么

Spring Boot幫我們創(chuàng)建卓越的、生產(chǎn)級別的Spring應(yīng)用更容易劝枣。僅僅需要很少的Spring的配置就可以了汤踏。
通過使用命令java -jar啟動Java應(yīng)用和傳統(tǒng)的war應(yīng)用。

主要特點:
  • 提供完全快速和容易上手的啟動方式給全部開發(fā)者
  • 完全沒有生產(chǎn)代碼和XML的配置文件
  • 提供更強大的功能(內(nèi)含服務(wù)舔腾、安全溪胶、監(jiān)控、配置模塊)

系統(tǒng)需求

按現(xiàn)在的版本稳诚,Spring Boot 1.5.8發(fā)布版 需要Java7和Spring框架 4.3.12或以上哗脖。

安裝Spring Boot

省略。。才避。

開發(fā)第一個Spring Boot 項目

本人使用IntelliJ IDEA橱夭,創(chuàng)建Maven項目。

1.創(chuàng)建POM

<?xml version="1.0" encoding="UTF-8"?>
<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.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.8.RELEASE</version>
    </parent>

    <!-- Additional lines to be added here... -->

</project>

完成后會自動構(gòu)建

2.添加依賴路徑

因為在上面的POM里使用<parent>中的spring-boot-starter-parent桑逝。那么這個spring-boot-starter-parent是一個規(guī)定啟動時Maven默認先加載的棘劣,在dependency-management中可以省略version這個標簽。
現(xiàn)在要創(chuàng)建web項目楞遏,那么在父標簽(parent)下添加

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

3.碼代碼

完成到這里茬暇,應(yīng)用需要創(chuàng)建一個單獨的Java文件。Maven會默認編譯在src/main/java路徑的源碼寡喝。所以我們在該路徑下創(chuàng)建文件名src/main/java/Example.java

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

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

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Example.class, args);
    }

}

這里的代碼沒有很多而钞,并快速的運行了。

3.1@RestController and @RequestMapping 注解的含義

在我們的Example的類中第一個注解是@RestController拘荡。這意識到是模塊化的注解臼节。暗示開發(fā)者閱讀這行代碼,是明確規(guī)則的開始珊皿。在這個例子中网缝,我們的類是web的@Controller,所以Spring收到web請求進來的時候就會開始執(zhí)行蟋定。
@RequestMapping告訴Spring把全部HTTP請求路徑“/”映射到home方法里粉臊。并返回一個字符串到訪問者。

@RestController and @RequestMapping注解是Spring MVC注解并不是Spring Boot的

3.2@ EnableAutoConfiguration注解的含義

當你想配置Spring的時候驶兜,最基本的就是添加依賴扼仲。自從spring-boot-starter-web把Tomcat和Spring MVC自動添加后,web應(yīng)用就會自動配置抄淑,不用手動了屠凶。

3.3 main方法

完成通過這個應(yīng)用是在main方法里。在main方法里有Spring Boot SpringApplication類被調(diào)用肆资。SpringApplication在Tomcat服務(wù)器自動加載配置啟動Spring的矗愧。我們需要通過Example.class運行時SpringApplication是主要的Spring組件。這個args數(shù)組是通過命令行里傳入?yún)?shù)的郑原。

4運行example

在IntelliJ IDEA的main方法行號邊上有個綠色的三角形唉韭,點擊運行》咐纾控制臺運行結(jié)果如下:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v1.5.8.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.222 seconds (JVM running for 6.514)

然后我們通過瀏覽器localhost:8080本地地址訪問属愤。界面如下:
Hello World!

5創(chuàng)建一個可執(zhí)行的 jar

創(chuàng)建可執(zhí)行的jar文件我們需要添加spring-boot-maven-plugin到我們的pom.xml。添加到在dependencies標簽下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

下一步就是:
保持pom.xml并運行在命令行上mvn package

$ mvn package

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.8.RELEASE:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

在項目的target文件夾看見jar文件了酸役。

Spring Boot怎樣用

構(gòu)建系統(tǒng)

1.依賴管理

使用Maven為前提:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末住诸,一起剝皮案震驚了整個濱河市驾胆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌只壳,老刑警劉巖俏拱,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暑塑,死亡現(xiàn)場離奇詭異吼句,居然都是意外死亡,警方通過查閱死者的電腦和手機事格,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門惕艳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人驹愚,你說我怎么就攤上這事远搪。” “怎么了逢捺?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵谁鳍,是天一觀的道長。 經(jīng)常有香客問我劫瞳,道長倘潜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任志于,我火速辦了婚禮涮因,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘伺绽。我一直安慰自己养泡,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布奈应。 她就那樣靜靜地躺著澜掩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杖挣。 梳的紋絲不亂的頭發(fā)上输硝,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音程梦,去河邊找鬼点把。 笑死,一個胖子當著我的面吹牛屿附,可吹牛的內(nèi)容都是我干的郎逃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼挺份,長吁一口氣:“原來是場噩夢啊……” “哼褒翰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤优训,失蹤者是張志新(化名)和其女友劉穎朵你,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揣非,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡抡医,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了早敬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忌傻。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搞监,靈堂內(nèi)的尸體忽然破棺而出水孩,到底是詐尸還是另有隱情,我是刑警寧澤琐驴,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布俘种,位于F島的核電站,受9級特大地震影響绝淡,放射性物質(zhì)發(fā)生泄漏宙刘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一够委、第九天 我趴在偏房一處隱蔽的房頂上張望荐类。 院中可真熱鬧,春花似錦茁帽、人聲如沸玉罐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吊输。三九已至,卻和暖如春铁追,著一層夾襖步出監(jiān)牢的瞬間季蚂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工琅束, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扭屁,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓涩禀,卻偏偏與公主長得像料滥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子艾船,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容