Spring Boot入門(一):搭建Spring Boot專案
從本篇部落格開始,我們開始進入Spring Boot的世界,它的出現使Spring的開發變得更加簡潔,因此一經推出受到眾多程式設計師的喜愛。
作為Spring Boot系列的第一篇部落格,我們先來講解下如何搭建Spring Boot專案。
如果你直接就使用的是Spring Boot,建議你有時間可以學習下Spring,這樣更能體會到Spring Boot帶來的便利。
Spring系列部落格地址:https://www.cnblogs.com/zwwhnly/category/1407891.html。
1. 搭建Spring Boot專案的2種方式
1.1 方式1:使用官網搭建
首先,在瀏覽器中,輸入 https://start.spring.io/,會看到如下介面:
從上圖可以看出,Project預設值是Maven Project,Language預設值是Java,Spring Boot預設版本是2.1.9,因為符合我們的需求,所以這3項我們不做修改。
然後填寫專案資訊,即Project Metadata項,如下所示:
上圖中的Group,可理解為組織,一般為域名反過來,如果域名是zwwhnly.com,這裡就填com.zwwhnly。
Artifact,可理解為專案名,比如我這裡填寫的是springboot-action。
接著選擇依賴項,比如要新增Web依賴項,這裡可以按關鍵字搜尋Web依賴項,如下所示:
也可以按分類找到Web依賴項,如下所示:
不管以哪種方式新增,最終的結果都是下面這樣的:
最後,點選”Generate“按鈕生成專案程式碼:
解壓後的程式碼目錄如下圖所示:
從圖中可以看出,此處生成的其實就是一個簡單的基於Maven的專案,你可以使用自己喜歡的開發工具開啟該專案,比如IntelliJ IDEA。
1.2 方式2:使用IDEA搭建
首先,開啟開發工具IntelliJ IDEA,依次點選選單File--New--Project開啟新建專案對話方塊,先選中左側的“Spring Initializr”,然後選擇專案要使用的JDK版本,如1.8,點選"Next"按鈕:
按照下圖中的提示填寫好專案資訊、打包方式、Java版本等資訊,點選“Next"按鈕:
選擇專案要使用的依賴項(如Spring Web)以及Spring Boot的版本(如2.1.9),點選”Next“按鈕:
確認好專案名稱和專案要儲存的路徑,點選“Finish"按鈕,如果儲存的路徑不存在,會提示是否自動建立該目錄,點選“OK”即可:
建立好的專案結構圖如下所示:
Maven依賴樹如下所示:
2. pom.xml講解
預設生成的pom.xml檔案如下所示:
<?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.1.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zwwhnly</groupId>
<artifactId>springboot-action</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-action</name>
<description>Spring Boot Action Code</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>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
關於pom.xml的整個講解,可以參考我之前寫的部落格:Spring入門(四):使用Maven管理Spring專案 ,這裡我們只講解下該檔案和之前不同的地方。
第1個值得注意的地方是檔案中的parent標籤:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
該標籤用於新增Spring Boot的父級依賴,其中spring-boot-starter-parent是一個特殊的starter,它用來提供相關的Maven預設依賴,使用它之後,常用的包依賴可以省去version標籤。
舉個具體的例子,我們往pom.xml中新增如下依賴:
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
</dependency>
和預設的2個依賴一樣,我們並未指定該依賴的version版本,但是在Maven的依賴樹裡,卻能看到這3個依賴使用的版本,如下所示:
這就是parent標籤中引用spring-boot-starter-parent的作用,我們可以通過以下檔案來檢視它都提供了哪些依賴的預設版本資訊:
在該檔案中,我們可以找到spring-boot-starter-web、spring-boot-starter-test、amqp-client指定的版本資訊:
<properties>
<rabbit-amqp-client.version>5.4.3</rabbit-amqp-client.version>
</properties>
<dependencies>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>${rabbit-amqp-client.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.1.9.RELEASE</version>
</dependency>
</dependencies>
可以發現,指定的版本正是Maven依賴樹上看到的版本資訊。
不過可以通過指定version版本來覆蓋預設的版本,比如我們將amqp-client的依賴資訊修改為:
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.7.0</version>
</dependency>
此時在Maven依賴樹看到的amqp-client的版本就變為了5.7.0:
第2個值得注意的地方是,檔案中添加了Spring Boot的編譯外掛:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
這裡我們也沒有指定version,所以使用的是預設的版本2.1.9.RELEASE(和上面使用amqp-client的原理一樣):
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.9.RELEASE</version>
</plugin>
3. 簡單演示
找到啟動類SpringbootActionApplication(名稱一般為ArtifactId+Application),看到預設程式碼如下:
package com.zwwhnly.springbootaction;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootActionApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootActionApplication.class, args);
}
}
為方便演示,我們暫時在啟動類中新增一個Api介面:
package com.zwwhnly.springbootaction;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class SpringbootActionApplication {
@RequestMapping("/")
public String index() {
return "Hello Spring Boot";
}
public static void main(String[] args) {
SpringApplication.run(SpringbootActionApplication.class, args);
}
}
在啟動類中右鍵,然後選擇執行專案,看到如下資訊:
在瀏覽器中訪問http://localhost:8080/,會看到如下資訊:
@RestController註解和@RequestMapping註解其實是Spring MVC相關的註解,並不是Spring Boot特有的,關於Spring MVC的相關技術,可以檢視以下部落格:
- Spring入門(十二):Spring MVC使用講解
- Spring入門(十三):Spring MVC常用註解講解
- Spring入門(十四):Spring MVC控制器的2種測試方法
4. 關閉Banner
其實剛剛啟動專案時我們已經看到了Spring Boot的Banner,那麼你不禁要問什麼是Spring Boot的Banner呢?
其實就是下圖中紅色標記的地方:
也許有人會覺得每次啟動都顯示這些資訊並沒有實際意義,那麼我們如何關閉它呢?
4.1 通過程式碼關閉
原始碼:
public static void main(String[] args) {
SpringApplication.run(SpringbootActionApplication.class, args);
}
修改後:
public static void main(String[] args) {
//SpringApplication.run(SpringbootActionApplication.class, args);
SpringApplication springApplication = new SpringApplication(SpringbootActionApplication.class);
springApplication.setBannerMode(Banner.Mode.OFF);
springApplication.run(args);
}
4.2 通過配置檔案關閉
預設情況下,新建的Spring Boot專案都有個空的application.properties配置檔案,可以新增如下配置:
spring.main.banner-mode=off
重新啟動專案,效果如下圖所示:
5. 原始碼及參考
原始碼地址:https://github.com/zwwhnly/springboot-action.git,歡迎下載。
汪雲飛《Java EE開發的顛覆者:Spring Boot實戰》
使用idea建立第一個springboot專案
Spring Boot-關閉Banner
關閉spring boot的banner
SpringBoot yml 配置
6. 最後
歡迎掃碼關注微信公眾號:「申城異鄉人」,定期分享Java技術乾貨,讓我們一起進步。
相關推薦
Spring Boot入門(一):搭建Spring Boot專案
從本篇部落格開始,我們開始進入Spring Boot的世界,它的出現使Spring的開發變得更加簡潔,因此一經推出受到眾多程式設計師的喜愛。 作為Spring Boot系列的第一篇部落格,我們先來講解下如何搭建Spring Boot專案。 如果你直接就使用的是Spring Boot,建議你有時間可以學習下S
Spring Boot 入門(一):入門案例
Springboot 入門 入門案例 建立spring boot專案 在pom.xml 檔案,我們需要新增兩部分依賴。 — 讓我們的專案繼承spring-boot-starter-parent 的工程 — 加入spring-boot-starter-we
Spring Boot入門一:在Eclipse中使用Spring boot
新建的專案目錄大概如下 整體目錄結構和Spring專案一樣,只不過Spring boot的配置檔案遷移到了application.yml(或者application.propertis)。專案的入口為BootTestApplication.java的main函式入口。 在maven配置的pom.xml裡
Spring boot入門一 環境搭建HelloWorld
說在前面: 最近Spring boot也火了一把,不稍微熟習下Spring boot都不好意思出門了,於是我也試著看下Spring boot的相關配置。概述: Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及
Spring boot 學習一: 認識Spring boot
XML 過程 maven 認識 很多 團隊 但是 日誌文件 pivotal 什麽是spring boot Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人
使用Spring框架入門一:基於XML配置的IOC/DI的使用
測試結果 plugins rac prepare lombok ray instance private mls 一、Spring框架 1、方法一:逐項導入基礎依賴包: spring-core、spring-beans、spring-context、s
Spring Security教程(一):初識Spring Security
一、概要 Spring Security,這是一種基於 Spring AOP 和 Servlet 過濾器的安全框架。它提供全面的安全性解決方案,同時在 Web 請求級和方法呼叫級處理身份確認和授權。以下是百科裡對於Spring Security的介紹。 Spring Security是一個能夠為基於Spr
Spring Cloud 入門教程:聊聊Spring Cloud
一、 Spring Cloud 是什麼? Spring Cloud 是將分散式系統中一系列基礎框架/工具進行整合的框架。其中包含:服務註冊與發現、服務閘道器、熔斷器、配置中心、訊息中心、服務鏈路追蹤等等。 Spring Cloud 並沒有重複造輪子,Spring Cloud只是依賴於Spring Boo
Spring Boot教程(一):入門
ava 輸入 圖片 imp 測試 code 輸出 clas web 使用maven構建項目 1. 先在系統中安裝好開發環境,本教程使用Eclipse Photon 和 Java JDK 1.8 進行開發 2. 訪問連接https://start.spring.io/
Spring Boot入門(一)Spring Boot+IDEA+JDK1.8開發環境和第一個專案的搭建,附所需資源連結
前言 博主第一次瞭解Spring Boot 這個框架,之前的時候就一直對這個框架心馳神往,如今剛開始學習這個框架,把學習歷程和過程中遇到的問題和解決方法記錄下來,與大家一起分享! 關於Spring Boot
spring-boot入門之一——環境搭建
技術分享 aging 一次 span left spa acl 自帶 PE 一、版本準備eclipse: Eclipse Mars.2 (4.5.2)maven: Apache Maven 3.5.3spring boot:
Spring-Boot入門之工程搭建
1.下載springboot工具 https://spring.io/tools3/sts/all 2.進入springboot快速搭建 https://start.spring.io/ 指定Group和Artifact名稱,並選擇本機JDK版本 選擇專案所需依
一步步搭建 Spring Boot maven 框架的工程
摘要:讓Spring應用從配置到執行更加快速,演示DIY Spring Boot 框架時,如何配置埠號,如何新增日誌。 Spring Boot 框架幫助開發者更容易地建立基於Spring的應用程式和服務,使得開發者能夠快速地獲得所需要的Spring功能。 提供了非功能性的大型專案類特性,
SpringBoot | 第八章:搭建Spring Boot Admin分散式微服務監控中心
(一)、什麼是Spring Boot Admin Spring Boot Admin 是一個針對spring-boot的actuator介面進行UI美化封裝的監控工具。他可以返回在列表中瀏覽所有被監控spring-boot專案的基本資訊比如
Spring Boot入門 (二) :無xml配置的實現
無xml配置的實現 自Spring3.X 以後 spring 提供了很多的註解來代替XML檔案的配置,最核心的是下面兩個註解。 ::@Configuration:: 標註該類是配置類,類似於我們定義的applicationContext.xml ::@B
Spring Data MongoDB 一:入門篇(環境搭建、簡單的CRUD操作)
一.簡介 Spring Data MongoDB 專案提供與MongoDB文件資料庫的整合。Spring Data MongoDB POJO的關鍵功能區域為中心的模型與MongoDB的DBCollection輕鬆地編寫一個儲存庫互動資料訪問。 二.Spring
Spring Boot入門二:使用ThymeLeaf+表單驗證
Thymeleaf提供了一個用於整合Spring MVC的可選模組,在應用開發中,你可以使用Thymeleaf來完全代替JSP,或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在於提供一種可被瀏覽器正確顯示的、格式良
深入Spring Boot (十一):整合Redis詳解
Spring Boot為Redis的Lettuce和Jedis客戶端庫提供了基本的自動配置,並且可以使用Spring Data Redis完成更多的操作。本篇將介紹如何整合Redis及使用Redis實現簡單的查詢快取,主要包括以下7部分內容: 快取 Redi
Spring Boot(十一):Spring Boot中MongoDB的使用
Spring Boot(十一):Spring Boot中MongoDB的使用 mongodb是最早熱門非關係資料庫的之一,使用也比較普遍,一般會用做離線資料分析來使用,放到內網的居多。由於很多公司使用了雲服務,伺服器預設都開放了外網地址,導致前一陣子大批 MongoDB 因配置漏洞被攻擊,資料被刪,引起了人
Spring Boot 2(一):Spring Boot 2.0新特性
方案 oauth 2.0 hiberna 浪費 快的 ali 升級 log security Spring Boot 2(一):Spring Boot 2.0新特性 Spring Boot依賴於Spring,而Spring Cloud又依賴於Spring Boot,因此Sp