采用固定的形式構建準產品的Spring應用程序。Spring Boot支持約定優于配置,旨在讓你盡快地啟動并運行Spring應用程序。
SpringBoot很容易創建基于Spring的獨立的、產品級的,可以“即時運行”的應用程序。我們對Spring平臺和第三方庫采用固定的形式,這樣你就可以以最小的配置開始使用。大多數SpringBoot應用程序只需要很少的Spring配置。
產品特點
- 創建可以獨立運行的Spring 應用。
- 直接嵌入 Tomcat 或 Jetty 服務器,不需要部署 WAR 文件。
- 提供固定的'starter' POMs來簡化你的Maven配置。
- 盡可能自動配置Spring。
- 提供準產品特性,如性能指標、健康檢查和外部化配置。
- 沒有代碼生成,也沒有 XML 配置要求。
- 參考指南包括對所有特性的詳細描述,以及對常用用例的詳細說明。
Quick Start
以eclipse為例,需要安裝STS來支持Spring Boot的開發,安裝gradle或maven來管理Spring Boot程序的依賴項和構建它們。
可以從https://start.spring.io/ 這個地址可以下載一個空的Spring Boot項目。以gradle為例,導入到STS之后的項目結構如下:
項目結構.png
在項目中打開build.gradle文件。
buildscript {
ext {
springBootVersion = '2.0.0.M2'
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
可將mavenCentral()替換為maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'} ,這樣的話就可以用阿里云的maven倉庫了。下載第三方依賴的時候會很快。
在dependencies下添加compile("org.springframework.boot:spring-boot-starter-web:2.0.0.M2")就可以開發spring mvc程序了。
更改如果的build.gradle文件:
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
buildscript {
ext {
springBootVersion = '2.0.0.M2'
}
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
只需在項目中添加SampleController 類。
package hello;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
@Controller
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(SampleController.class, args);
}
}
然后Run As -> Spring Boot App就可以運動了。打開localhost:8080/可以查看運行效果。