馬上開始
如果你是使用Spring Boot或者使用Spring開始,那這章就屬于你的!在這里我們會回答你最基本的問題“what”、“how”、和“why”的問題。我們會第一步構建Spring Boot項目并討論一些核心的原則,讓我們開始吧。
Spring Boot是什么
Spring Boot幫我們創建卓越的、生產級別的Spring應用更容易。僅僅需要很少的Spring的配置就可以了。
通過使用命令java -jar
啟動Java應用和傳統的war應用。
主要特點:
- 提供完全快速和容易上手的啟動方式給全部開發者
- 完全沒有生產代碼和XML的配置文件
- 提供更強大的功能(內含服務、安全、監控、配置模塊)
系統需求
按現在的版本,Spring Boot 1.5.8發布版 需要Java7和Spring框架 4.3.12或以上。
安裝Spring Boot
省略。。。
開發第一個Spring Boot 項目
本人使用IntelliJ IDEA,創建Maven項目。
1.創建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>
完成后會自動構建
2.添加依賴路徑
因為在上面的POM里使用<parent>
中的spring-boot-starter-parent
。那么這個spring-boot-starter-parent
是一個規定啟動時Maven默認先加載的,在dependency-management
中可以省略version
這個標簽。
現在要創建web項目,那么在父標簽(parent)下添加
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3.碼代碼
完成到這里,應用需要創建一個單獨的Java文件。Maven會默認編譯在src/main/java
路徑的源碼。所以我們在該路徑下創建文件名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。這意識到是模塊化的注解。暗示開發者閱讀這行代碼,是明確規則的開始。在這個例子中,我們的類是web的@Controller
,所以Spring收到web請求進來的時候就會開始執行。
@RequestMapping告訴Spring把全部HTTP請求路徑“/”映射到home方法里。并返回一個字符串到訪問者。
@RestController and @RequestMapping注解是Spring MVC注解并不是Spring Boot的
3.2@ EnableAutoConfiguration注解的含義
當你想配置Spring的時候,最基本的就是添加依賴。自從spring-boot-starter-web
把Tomcat和Spring MVC自動添加后,web應用就會自動配置,不用手動了。
3.3 main
方法
完成通過這個應用是在main方法里。在main方法里有Spring Boot SpringApplication
類被調用。SpringApplication
在Tomcat服務器自動加載配置啟動Spring的。我們需要通過Example.class
運行時SpringApplication
是主要的Spring組件。這個args
數組是通過命令行里傳入參數的。
4運行example
在IntelliJ IDEA的main方法行號邊上有個綠色的三角形,點擊運行。控制臺運行結果如下:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: 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創建一個可執行的 jar
創建可執行的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怎樣用
構建系統
1.依賴管理
使用Maven為前提: