SpringBoot?項(xiàng)目的創(chuàng)建與啟動(dòng)步驟詳解
Spring Boot是什么
眾所周知 Spring 應(yīng)用需要進(jìn)行大量的配置,各種 XML 配置和注解配置讓人眼花繚亂,且極容易出錯(cuò),因此 Spring 一度被稱為“配置地獄”。
為了簡化 Spring 應(yīng)用的搭建和開發(fā)過程,Pivotal 團(tuán)隊(duì)在 Spring 基礎(chǔ)上提供了一套全新的開源的框架,它就是 Spring Boot。
Spring Boot 具有 Spring 一切優(yōu)秀特性,Spring 能做的事,Spring Boot 都可以做,而且使用更加簡單,功能更加豐富,性能更加穩(wěn)定而健壯。隨著近些年來微服務(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)目只需通過命令“ java–jar xx.jar” 即可運(yùn)行。
2. 內(nèi)嵌 Servlet 容器
Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),應(yīng)用無需打成 WAR 包
3. 提供 starter 簡化 Maven 配置
Spring Boot 提供了一系列的“starter”項(xiàng)目對(duì)象模型(POMS)來簡化 Maven 配置。
4. 提供了大量的自動(dòng)配置
Spring Boot 提供了大量的默認(rèn)自動(dòng)配置,來簡化項(xiàng)目的開發(fā),開發(fā)人員也通過配置文件修改默認(rèn)配置。
5. 自帶應(yīng)用監(jiān)控
Spring Boot 可以對(duì)正在運(yùn)行的項(xiàng)目提供監(jiān)控。
6. 無代碼生成和 xml 配置
Spring Boot 不需要任何 xml 配置即可實(shí)現(xiàn) Spring 的所有配置。
配置開發(fā)環(huán)境
在使用 Spring Boot 進(jìn)行開發(fā)之前,第一件事就是配置好開發(fā)環(huán)境。工欲善其事,必先利其器,IDE(集成開發(fā)環(huán)境)的選擇相當(dāng)重要,目前市面上有很多優(yōu)秀的 IDE 開發(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)目
第一步: 打開IDEA,如下圖打開 File—>New—>Project ,然后進(jìn)入下一步。
第二步: 打開Project后,按照下圖步驟創(chuàng)建一個(gè) Empty Project 項(xiàng)目,項(xiàng)目名稱為 springboot_csdn,然后進(jìn)入下一步。
第三步: 空項(xiàng)目創(chuàng)建好之后,右擊項(xiàng)目名稱,新建一個(gè) Module,進(jìn)入下一步。
第四步: 打開 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 是國外的一個(gè)網(wǎng)站,當(dāng)運(yùn)行速度較慢的時(shí)候,我們使用國內(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í)無需過多更改,可以選擇 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管理,添加后,打開Maven點(diǎn)擊更新即可。
2、Maven 創(chuàng)建 SpringBoot 項(xiàng)目
第一種方式創(chuàng)建 SpringBoot 項(xiàng)目的前提是需要在聯(lián)網(wǎng)的情況下,當(dāng)沒有網(wǎng)的時(shí)候,我們就不能用上面的方式來創(chuàng)建 SpringBoot 項(xiàng)目了,這時(shí)我們就需要使用 Maven 創(chuàng)建 SpringBoot 項(xiàng)目,此方式創(chuàng)建的前提是本地倉庫已經(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 主程序,用來啟動(dòng) Spring Boot 應(yīng)用,代碼如下
<!-- 注解說明: 該注解是組合注解 @SpringBootConfiguration 用來自動(dòng)配置spring相關(guān)環(huán)境 spring+springmvc @EnableAutoConfiguration 開啟自動(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,用來開啟 Spring Boot 的自動(dòng)配置,另外該啟動(dòng)類中包含一個(gè) main() 方法,用來啟動(dòng)該項(xiàng)目。直接運(yùn)行啟動(dòng)類 HelloworldApplication 中的 main() 方法,便可以啟動(dòng)該項(xiàng)目,結(jié)果如下圖
注意:Spring Boot 內(nèi)部集成了 Tomcat,不需要人為手動(dòng)配置 Tomcat,開發(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)目,然后在地址欄訪問 “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、如下圖,打開 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鎖的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11JavaWeb ServletConfig作用及原理分析講解
ServletConfig對(duì)象,叫Servlet配置對(duì)象。主要用于加載配置文件的初始化參數(shù)。我們知道一個(gè)Web應(yīng)用里面可以有多個(gè)servlet,如果現(xiàn)在有一份數(shù)據(jù)需要傳給所有的servlet使用,那么我們就可以使用ServletContext對(duì)象了2022-10-10Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送
這篇文章主要介紹了Java Socket聊天室編程(一)之利用socket實(shí)現(xiàn)聊天之消息推送的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09Java讀取json數(shù)據(jù)并存入數(shù)據(jù)庫的操作代碼
很多朋友問大佬們JAVA怎么把json存入數(shù)據(jù)庫啊,這一問題就把我難倒了,糾結(jié)如何操作呢,下面小編把我的經(jīng)驗(yàn)分享給大家,感興趣的朋友一起看看吧2021-08-08《阿里巴巴 Java開發(fā)手冊(cè)》讀后感小結(jié)
這篇文章主要介紹了《阿里巴巴 Java開發(fā)手冊(cè)》讀后感小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12