SpringBoot?項(xiàng)目的創(chuàng)建與啟動(dòng)步驟詳解

Spring Boot是什么
眾所周知 Spring 應(yīng)用需要進(jìn)行大量的配置,各種 XML 配置和注解配置讓人眼花繚亂,且極容易出錯(cuò),因此 Spring 一度被稱為“配置地獄”。
為了簡(jiǎn)化 Spring 應(yīng)用的搭建和開(kāi)發(fā)過(guò)程,Pivotal 團(tuán)隊(duì)在 Spring 基礎(chǔ)上提供了一套全新的開(kāi)源的框架,它就是 Spring Boot。
Spring Boot 具有 Spring 一切優(yōu)秀特性,Spring 能做的事,Spring Boot 都可以做,而且使用更加簡(jiǎn)單,功能更加豐富,性能更加穩(wěn)定而健壯。隨著近些年來(lái)微服務(wù)技術(shù)的流行,Spring Boot 也成為了時(shí)下炙手可熱的技術(shù)。
Spring Boot 的特點(diǎn)
Spring Boot 具有以下特點(diǎn):
1. 獨(dú)立運(yùn)行的 Spring 項(xiàng)目
Spring Boot 可以以 jar 包的形式獨(dú)立運(yùn)行,Spring Boot 項(xiàng)目只需通過(guò)命令“ java–jar xx.jar” 即可運(yùn)行。
2. 內(nèi)嵌 Servlet 容器
Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),應(yīng)用無(wú)需打成 WAR 包
3. 提供 starter 簡(jiǎn)化 Maven 配置
Spring Boot 提供了一系列的“starter”項(xiàng)目對(duì)象模型(POMS)來(lái)簡(jiǎn)化 Maven 配置。
4. 提供了大量的自動(dòng)配置
Spring Boot 提供了大量的默認(rèn)自動(dòng)配置,來(lái)簡(jiǎn)化項(xiàng)目的開(kāi)發(fā),開(kāi)發(fā)人員也通過(guò)配置文件修改默認(rèn)配置。
5. 自帶應(yīng)用監(jiān)控
Spring Boot 可以對(duì)正在運(yùn)行的項(xiàng)目提供監(jiān)控。
6. 無(wú)代碼生成和 xml 配置
Spring Boot 不需要任何 xml 配置即可實(shí)現(xiàn) Spring 的所有配置。
配置開(kāi)發(fā)環(huán)境
在使用 Spring Boot 進(jìn)行開(kāi)發(fā)之前,第一件事就是配置好開(kāi)發(fā)環(huán)境。工欲善其事,必先利其器,IDE(集成開(kāi)發(fā)環(huán)境)的選擇相當(dāng)重要,目前市面上有很多優(yōu)秀的 IDE 開(kāi)發(fā)工具,例如 IntelliJ IDEA、Spring Tools、Visual Studio Code 和 Eclipse 等等,那么我們?cè)撊绾芜x擇呢?
這里我們極力推薦大家使用 IntelliJ IDEA,因?yàn)橄啾扔谂c其他 IDE,IntelliJ IDEA 對(duì) Spring Boot 提供了更好的支持。Spring Boot 版本及其環(huán)境配置要求如下表

創(chuàng)建 SpringBoot 項(xiàng)目
1、Spring Initializr 創(chuàng)建 SpringBoot 項(xiàng)目
第一步: 打開(kāi)IDEA,如下圖打開(kāi) File—>New—>Project ,然后進(jìn)入下一步。

第二步: 打開(kāi)Project后,按照下圖步驟創(chuàng)建一個(gè) Empty Project 項(xiàng)目,項(xiàng)目名稱為 springboot_csdn,然后進(jìn)入下一步。

第三步: 空項(xiàng)目創(chuàng)建好之后,右擊項(xiàng)目名稱,新建一個(gè) Module,進(jìn)入下一步。

第四步: 打開(kāi) Spring Initializr,在設(shè)置對(duì)話框中,Server URL 默認(rèn)是 start.spring.io,所以用此步驟進(jìn)行創(chuàng)建 springboot 項(xiàng)目時(shí)必須聯(lián)網(wǎng)。且創(chuàng)建的本質(zhì),是將官網(wǎng)創(chuàng)建的步驟以 IDEA 圖形化界面的方式創(chuàng)建。

start.spring.io 是國(guó)外的一個(gè)網(wǎng)站,當(dāng)運(yùn)行速度較慢的時(shí)候,我們使用國(guó)內(nèi)的阿里云網(wǎng)站:start.aliyun.com。

輸入項(xiàng)目的 GroupId、ArtifactId 等內(nèi)容,注意 Type 為 Maven,packaging 為 jar,Java version 切換為 8(默認(rèn)為 11),最后點(diǎn)擊下方的 Next 按鈕,進(jìn)行下一步;

第五步: 到此界面,其實(shí)無(wú)需過(guò)多更改,可以選擇 Spring Boot 2.7.9 的版本。后面項(xiàng)目創(chuàng)建后根據(jù)實(shí)際情況還能修改,然后點(diǎn)擊 Create,一個(gè)springboot 項(xiàng)目便創(chuàng)建完成。

注意:如果創(chuàng)建完成后,pom.xml文件不是藍(lán)色的m顯示時(shí),右擊文件,添加到maven管理,添加后,打開(kāi)Maven點(diǎn)擊更新即可。

2、Maven 創(chuàng)建 SpringBoot 項(xiàng)目
第一種方式創(chuàng)建 SpringBoot 項(xiàng)目的前提是需要在聯(lián)網(wǎng)的情況下,當(dāng)沒(méi)有網(wǎng)的時(shí)候,我們就不能用上面的方式來(lái)創(chuàng)建 SpringBoot 項(xiàng)目了,這時(shí)我們就需要使用 Maven 創(chuàng)建 SpringBoot 項(xiàng)目,此方式創(chuàng)建的前提是本地倉(cāng)庫(kù)已經(jīng)緩存之前創(chuàng)建 SpringBoot 項(xiàng)目所需要的相關(guān)依賴。
創(chuàng)建步驟如下:
第一步: 按照之前創(chuàng)建 Maven 的步驟進(jìn)行創(chuàng)建。

第二步: 返回 IntelliJ IDEA 工作區(qū),會(huì)發(fā)現(xiàn) Maven 項(xiàng)目創(chuàng)建完成,其目錄結(jié)構(gòu)如圖所示。

第三步: 在該 Maven 項(xiàng)目的 pom.xml 中添加以下配置,導(dǎo)入 Spring Boot 相關(guān)的依賴
<!--繼承springboot的父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
</parent>
<!--引入web依賴 spring+springmvc-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 項(xiàng)目打jar包必要插件-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>第四步: 在 cn.kgc.springboot包下,創(chuàng)建一個(gè)名為 HelloWorldApplication 主程序,用來(lái)啟動(dòng) Spring Boot 應(yīng)用,代碼如下
<!--
注解說(shuō)明: 該注解是組合注解
@SpringBootConfiguration 用來(lái)自動(dòng)配置spring相關(guān)環(huán)境 spring+springmvc
@EnableAutoConfiguration 開(kāi)啟自動(dòng)配置 核心注解
@ComponentScan 組件掃描 只能掃描當(dāng)前包和子包
-->
@SpringBootApplication
public class HelloWorldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloWorldApplication.class, args);
}
}啟動(dòng) Spring Boot
默認(rèn)情況下,Spring Boot 項(xiàng)目會(huì)創(chuàng)建一個(gè)名為 ***Application 的主程序啟動(dòng)類 ,該類中使用了一個(gè)組合注解 @SpringBootApplication,用來(lái)開(kāi)啟 Spring Boot 的自動(dòng)配置,另外該啟動(dòng)類中包含一個(gè) main() 方法,用來(lái)啟動(dòng)該項(xiàng)目。直接運(yùn)行啟動(dòng)類 HelloworldApplication 中的 main() 方法,便可以啟動(dòng)該項(xiàng)目,結(jié)果如下圖

注意:Spring Boot 內(nèi)部集成了 Tomcat,不需要人為手動(dòng)配置 Tomcat,開(kāi)發(fā)者只需要關(guān)注具體的業(yè)務(wù)邏輯即可。
為了能比較的清楚的看到效果,我們?cè)?cn.csdn.springboot 包下又創(chuàng)建一個(gè) controller 包,并在該包內(nèi)創(chuàng)建一個(gè)名為 UserController 的 Controller,代碼如下
package cn.kgc.springboot01.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("user")
public class UserController {
@RequestMapping("show")
private String Show(){
System.out.println("springboot01展示了!");
return "springboot01展示了!";
}
}重啟 Spring Boot 項(xiàng)目,然后在地址欄訪問(wèn) “http://localhost:8080/user/show”,結(jié)果如下圖

SpringBoot 設(shè)置端口號(hào)
上面我們項(xiàng)目運(yùn)行的默認(rèn)端口號(hào)是 8080,如果我們想更改端口號(hào),用如下方式實(shí)現(xiàn)即可:
1、如下圖,打開(kāi) resources 目錄下的 application.properties 文件,在文件中添加 “server.port=8888” ,8888即是最新的端口號(hào)。

運(yùn)行效果如下:

2、application.properties 做設(shè)置,會(huì)增加代碼的冗余,因此,我們通常使用 yml 格式的文件進(jìn)行配置設(shè)置;將 application.properties 改為application.yml ,內(nèi)容修改如下:
server: port: 9999
運(yùn)行效果如下:

到此這篇關(guān)于SpringBoot 項(xiàng)目的創(chuàng)建與啟動(dòng)的文章就介紹到這了,更多相關(guān)SpringBoot創(chuàng)建與啟動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jpa實(shí)現(xiàn)多對(duì)多的屬性時(shí)查詢的兩種方法
這篇文章主要介紹了jpa實(shí)現(xiàn)多對(duì)多的屬性時(shí)查詢的兩種方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
淺談Java并發(fā)中ReentrantLock鎖應(yīng)該怎么用
本文主要介紹了ava并發(fā)中ReentrantLock鎖的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
JavaWeb ServletConfig作用及原理分析講解
ServletConfig對(duì)象,叫Servlet配置對(duì)象。主要用于加載配置文件的初始化參數(shù)。我們知道一個(gè)Web應(yīng)用里面可以有多個(gè)servlet,如果現(xiàn)在有一份數(shù)據(jù)需要傳給所有的servlet使用,那么我們就可以使用ServletContext對(duì)象了2022-10-10
Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送
這篇文章主要介紹了Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
Java讀取json數(shù)據(jù)并存入數(shù)據(jù)庫(kù)的操作代碼
很多朋友問(wèn)大佬們JAVA怎么把json存入數(shù)據(jù)庫(kù)啊,這一問(wèn)題就把我難倒了,糾結(jié)如何操作呢,下面小編把我的經(jīng)驗(yàn)分享給大家,感興趣的朋友一起看看吧2021-08-08
《阿里巴巴 Java開(kāi)發(fā)手冊(cè)》讀后感小結(jié)
這篇文章主要介紹了《阿里巴巴 Java開(kāi)發(fā)手冊(cè)》讀后感小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

