馬上開始
如果你是使用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為前提: