1. 用IDEA中的Spring Initializr建立SpringBoot專案
在我2015年底開始接觸和學習Spring框架的時候,經常被那些繁瑣的XML配置檔案苦惱,這次我來試試使用Spring Boot,可以更輕易地上手,更簡單快捷地構建Spring應用!
Spring Boot讓我們的Spring應用變的更輕量化。我們不必像以前那樣繁瑣的構建專案、打包應用、部署到Tomcat等應用伺服器中來執行我們的業務服務。通過Spring Boot實現的服務,只需要依靠一個Java類,把它打包成jar,並通過java -jar命令就可以執行起來。這一切相較於傳統Spring應用來說,已經變得非常的輕便、簡單。
直接使用IDEA外掛Spring Initializr來建立SpringBoot專案,也可以在官網建立,然後下載下來匯入到IDEA中。
然後Next到框架選擇的地方,首先我們先建立一個最簡單的專案,需要選擇下面這些框架工具
- Web
- Spring Web
建立好後,直接點開Demo01Application.java執行main方法,然後開啟瀏覽器訪問localhost:8080
這個頁面的出現就表示專案已經是正常啟動了。
2. 結構解析
2.1 檔案結構介紹
- src/main/java
- Java程式碼,包括工具類、Controller、Service等
- Demo01Application.java是程式的入口類
- src/main/resources
- 配置檔案,靜態檔案等
- application.properties是預設的配置檔案
- src/test/
- 用於測試的Java程式碼
2.2 專案依賴介紹
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.magic</groupId>
<artifactId>demo01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo01</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
複製程式碼
大致可分為四個部分
- 專案資訊:包括groupId,artifactId,version,name,description標籤
- 繼承關係:parent標籤宣告該專案繼承自spring-boot-starter-parent,並且宣告為繼承自2.2.0.RELEASE版本
- jar包依賴:dependencies標籤包含了具體的jar包依賴情況,如spring-boot-starter-web、spring-boot-starter-test。
- 構建配置:build標籤可以控制Maven構建的引數,預設使用spring-boot-maven-plugin,配合spring-boot-starter-parent可以把SpringBoot應用打包成JAR檔案來直接執行
3. 建立一個Controller並測試
在src/main/java/下建立controller/IndexController.java
程式碼如下
@RestController
public class IndexController {
@RequestMapping("/index")
public String index(){
return "Hello World!";
}
}
複製程式碼
再次執行程式後,訪問http://localhost:8080/index可以看到如下介面
4. 配置檔案
首先,Spring Initializr建立的SpringBoot專案預設的是application.properties配置檔案,這種配置檔案的寫法我感覺和寫TXT文字沒什麼區別,我更喜歡yml格式的配置檔案,即改用YAML語法的application.yml,這裡給大家簡單地介紹一下YAML屬性配置檔案。
4.1 YAML是什麼
4.2 基礎使用
首先要刪除預設的application.properties檔案,因為這個配置檔案的優先順序比yml的要高。然後就可以建立application.yml檔案來使用了,不需要其他配置。
其次,YAML的語法是根據縮排、冒號和空格來設定程式碼段的,在加上IDEA自帶的程式碼提示和排版功能,使用起來非常簡單。
server:
# 埠號
port: 80
servlet:
# 設定上下文訪問路徑
context-path: /demo01
複製程式碼
設定好之後,我們再次執行專案,然後訪問http://localhost/demo01/index可以看到相同的結果