閱讀308 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《Spring Boot官方指南》(二)入門(一)

如果您剛開始接觸Spring Boot,或者簡稱’Spring’, 這個部分對您來說非常有用。這個部分提供了“是什麼?”,“怎麼做?”和 “為什麼?”的解釋。您除了會閱讀一份附帶Spring Boot安裝說明的介紹,還會引導您創建第一個Spring Boot應用程序,順便講述一些核心原則。

1.Spring Boot簡介
2.係統要求
2.1.Servlet容器
3.安裝Spring Boot
3.1.Java開發者使用的安裝教程
3.1.1.Maven安裝
3.1.2.Gradle安裝
3.2.安裝Spring Boot CLI
3.2.1.手動安裝
3.2.2.使用SDKMAN!安裝
3.2.3.OSX Homebrew 安裝
3.2.4.MacPorts安裝
3.2.5.命令行補全工具
3.2.6.快速開始Spring CLI實例
3.3.升級舊版本的Spring Boot
4.開發第一個Spring Boot應用程序
4.1.創建POM
4.2.添加classpath依賴
4.3.編寫代碼
4.3.1.@RestController和@RequestMapping注解
4.3.2.@EnableAutoConfiguration注解
4.3.3.“main” 方法
4.4.運行這個例子
4.5.創建可執行jar文件
5.接下來閱讀什麼

1. Spring Boot簡介

Spring Boot使創建基於Spring的應用程序變得輕鬆,您隻需要做到“just run”就能創建一個獨立的、產品級別的Spring應用程序。我們為Spring平台及第三方庫提供了相對固定的搭配,所以您開始的時候會輕鬆很多。大部分的SpringBoot應用程序都隻需要很少的Spring配置。

您可以使用SpringBoot創建應用程序,通過java -jar命令或者傳統的war包部署方式來啟動它。我們也提供了一個命令行工具來運行“spring腳本”。

我們的目標是:

  • 從根本上提供更加快速和簡便的Spring開發體驗。
  • 開箱即用,但定製開發也很便捷。
  • 提供一些大型項目常用的非功能性特性(例如:嵌入式服務、安全、監控、健康檢查、外部配置)。
  • 不用生成代碼,沒有xml配置。

2. 係統要求

一般情況下,Spring Boot1.4.1.BUILD-SNAPSHOT要求Java 7以及 Spring Framework 4.3.3.BUILD-SNAPSHOT或者更高版本。您可以在Java 6的環境下使用Spring Boot,但是需要一些額外的配置。訪問Section 80.11, “How to use Java 6″獲得更多詳細說明。需要明確的是,Maven需要3.2或者更高版本,Gradle需要1.12或者2.x。Gradle 3 不支持。

[Tip] Tip
雖然您可以在Java 6或者7下使用Spring Boot,但我們一般還是建議盡可能的使用Java 8。

2.1 Servlet容器

下麵的嵌入式Servlet容器可以直接使用:

名稱 Servlet版本 Java版本
Tomcat 8 3.1 Java 7+
Tomcat 7 3.0 Java 6+
Jetty 9.3 3.1 Java 8+
Jetty 9.2 3.1 Java 7+
Jetty 8 3.0 Java 6+
Undertow 1.3 3.1 Java 7+

您也可以在兼容Servlet 3.0+ 的容器中部署Spring Boot 應用。

3. 安裝Spring Boot

Spring Boot可以和“經典的”Java開發工具一起使用,也可以安裝成一個命令行工具。無論如何,您需要Java SDK v1.6或者更高的版本。開始之前,確認一下您的Java版本:

$ java -version

如果您是Java開發新手,或者您隻是想體驗一下Spring Boot,
第一步您可以選擇去Spring Boot CLI 試一試。或者,繼續看“經典的”安裝介紹。

[Tip] Tip
雖然Spring Boot可以兼容Java 6,但是還是盡可能使用最新版本的Java。

3.1 Java開發者使用的安裝教程

您可以像使用其他標準Java庫一樣使用Spring Boot。隻需要將相關的spring-boot-*.jar文件包含進您的classpath。Spring Boot不需要使用特殊的工具進行集成,因此您選擇任何IDE或者文本編輯器都可以;並且Spring Boot應用程序也沒有任何特殊規範,您可以像其他Java程序一樣來運行和調試它。

雖然您可以複製Spring Boot jars,但是我們建議使用支持依賴管理的構建工具(比如Maven或者Gradle)。

3.1.1 Maven安裝

Spring Boot與Apache Maven 3.2或者更高的版本兼容。如果您還沒有安裝Maven,可以去maven.apache.org閱讀相關教程。

[Tip] Tip
很多操作係統可以使用包管理工具來安裝Maven,蘋果的OSX操作係統Homebrew使用者可以試試brew install maven。Ubuntu用戶可以運行這個命令sudo apt-get install maven

Spring Boot 依賴的groupIdorg.springframework.boot。通常情況下,您的MavenPOM文件繼承自spring-boot-starter-parent項目,並且聲明為一些“Starters”。Spring Boot也提供了一些創建可執行jar文件的Maven插件

這是一個典型的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://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.4.1.BUILD-SNAPSHOT</version>
    </parent>

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

    <!-- (you don't need this if you are using a .RELEASE version) -->
    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>
</project>
[Tip] Tip
繼承spring-boot-starter-parent項目是不錯的使用Spring Boot的方式,但是有時候可能還是有不適配的問題。有些時候您可能需要繼承子不同的父POM,或者僅僅是和我們的默認配置有所區別。查看Section 13.2.2, “Using Spring Boot without the parent POM”,這是使用了導入方式的一種解決方案。

3.1.2 Gradle安裝

Spring Boot與Gradle 1.12或者更高的版本兼容。如果您還沒有安裝Gradle,可以去www.gradle.org/閱讀相關教程。

Spring Boot依賴的grouporg.springframework.boot。一般情況下,您的項目可能需要為一個或多個“Starters”聲明依賴項。Spring Boot提供了一些不錯的Gradle插件,可以用來簡化依賴聲明和創建可執行的jar文件。

Gradle包裝器

構建項目的時候,Gradle包裝器提供了一種友好的“obtaining” Gradle的方式。它提供了一些小型的腳本和庫,可以和您的代碼一起提交來引導構建流程。詳細情況,可以訪問:docs.gradle.org/2.14.1/userguide/gradle_wrapper.html

這是一個典型的build.gradle文件:

buildscript {
    repositories {
        jcenter()
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.1.BUILD-SNAPSHOT")
    }
}

apply plugin: 'java'
apply plugin: 'spring-boot'

jar {
    baseName = 'myproject'
    version =  '0.0.1-SNAPSHOT'
}

repositories {
    jcenter()
    maven { url "https://repo.spring.io/snapshot" }
    maven { url "https://repo.spring.io/milestone" }
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    testCompile("org.springframework.boot:spring-boot-starter-test")
}

3.2 安裝Spring Boot CLI

Spring Boot CLI是一個命令行工具,如果想要快速獲取一個Spring樣品程序,可以使用到它。Spring Boot CLI是一個命令行工具,如果想要快速獲取一個Spring樣品程序,可以使用到它。有了它,您可以運行Groovy腳本,這意味著您可以使用熟練的類Java語法,而不是超多的樣板代碼。

使用CLI這個命令行工具來做Spring Boot開發並不是必須的,但它確實是一個開發Spring應用程序最快捷的方式。

3.2.1 手動安裝

到Spring軟件倉庫下載Spring CLI的發布包:

也可以去snapshot distributions下載最新的快照發布版本。

下載以後,閱讀一下解壓縮包裏麵的說明文檔:INSTALL.txt。大概是這樣,bin/目錄下的.zip文件裏麵有一個spring腳本(Windows係統是spring.bat),或者您也可以使用命令java -jar來運行.jar文件(腳本是幫您確保classpath是否設置正確了)。

3.2.2 使用SDKMAN!安裝

SDKMAN!(一個軟件開發工具管理器)可以用用來管理多版本的二進製SDKs,包括 Groovy 與 Spring Boot CLI。到sdkman.io下載SDKMAN!,用下麵的方式來安裝Spring Boot:

$ sdk install springboot
$ spring --version
Spring Boot v1.4.1.BUILD-SNAPSHOT

如果您正在開發一些命令行工具CLI的組件,並且想要方便的使用到您剛剛構建的版本,下麵這個介紹可以幫到您。

$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-1.4.1.BUILD-SNAPSHOT-bin/spring-1.4.1.BUILD-SNAPSHOT/
$ sdk default springboot dev
$ spring --version
Spring CLI v1.4.1.BUILD-SNAPSHOT

這樣做可以安裝一個被叫做dev實例的本地spring實例,它指向了您的目標生成路徑,所以每次您重新構建Spring Boot,spring都會是保持最新版本。

應該可以看到下麵的這些輸出信息:

$ sdk ls springboot

================================================================================
Available Springboot Versions
================================================================================
> + dev
* 1.4.1.BUILD-SNAPSHOT

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

3.2.3 OSX Homebrew 安裝

如果您在Mac環境下,並且使用Homebrew,運行下麵的命令來安裝Spring Boot CLI:

$ brew tap pivotal/tap
$ brew install springboot

Homebrew把`spring`安裝到了/usr/local/bin

[Note] Note
如果沒有順利安裝的話,大概是您的brew庫已經太舊了,執行brew update以後,再試一試。

3.2.4 MacPorts安裝

如果您在Mac環境下,並且使用MacPorts,運行下麵的命令來安裝Spring Boot CLI:

$ sudo port install spring-boot-cli

最後更新:2017-05-19 14:05:53

  上一篇:go  【雲棲TechDay有問必答】NLP技術的應用及思考
  下一篇:go  數學菜鳥的AI學習攻略 | 數學符號輕鬆入門