SpringBoot入門(mén)實(shí)現(xiàn)第一個(gè)SpringBoot項(xiàng)目
Spring Boot 簡(jiǎn)介
Spring Boot 是 Spring 家族中的一個(gè)全新的框架,它用來(lái)簡(jiǎn)化 Spring 應(yīng)用程序的創(chuàng)建和開(kāi)發(fā)過(guò)程,也可以說(shuō) Spring Boot 能簡(jiǎn)化我們之前采用 SpringMVC + Spring + MyBatis 框架進(jìn)行開(kāi)發(fā)的過(guò)程。
在以往我們采用 SpringMVC + Spring + MyBatis 框架進(jìn)行開(kāi)發(fā)的時(shí)候,搭建和整合三大框架,我們需要做很多工作,比如配置 web.xml,配置 Spring,配置 MyBatis,并將它們整合在一起等,而 Spring Boot 框架對(duì)此開(kāi)發(fā)過(guò)程進(jìn)行了革命性的顛覆,完全拋棄了繁瑣的 xml 配置過(guò)程,采用大量的默認(rèn)配置簡(jiǎn)化我們的開(kāi)發(fā)過(guò)程。
Spring Boot 入門(mén)
創(chuàng)建一個(gè) Module,選擇類(lèi)型為 Spring Initializr 快速構(gòu)建
設(shè)置 GAV 坐標(biāo)及 pom 配置信息
選擇 Spring Boot 版本及依賴(lài)
會(huì)根據(jù)選擇的依賴(lài)自動(dòng)添加起步依賴(lài)并進(jìn)行自動(dòng)配置
設(shè)置項(xiàng)目名稱(chēng)、項(xiàng)目路徑
提示:點(diǎn)擊 Finish,如果是第一次創(chuàng)建,在右下角會(huì)提示正在下載相關(guān)的依賴(lài)
Show all
項(xiàng)目創(chuàng)建完畢,如下
項(xiàng)目結(jié)構(gòu)
- static:存放靜態(tài)資源,如圖片、CSS、JavaScript 等
- templates:存放 Web 頁(yè)面的模板文件
- application.properties/application.yml 用于存放程序的各種依賴(lài)模塊的配置信息,比如 服務(wù)端口,數(shù)據(jù)庫(kù)連接配置等
對(duì) POM.xml 文件進(jìn)行解釋
<?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> <!--繼承 SpringBoot 框架的一個(gè)父項(xiàng)目,所有自己開(kāi)發(fā)的 Spring Boot 都必須的繼承--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!--當(dāng)前項(xiàng)目的 GAV 坐標(biāo)--> <groupId>com.bjpowernode.springboot</groupId> <artifactId>002-springboot-springmvc</artifactId> <version>1.0.0</version> <!--maven 項(xiàng)目名稱(chēng),可以刪除--> <name>002-springboot-springmvc</name> <!--maven 項(xiàng)目描述,可以刪除--> <description>Demo project for Spring Boot</description> <!--maven 屬性配置,可以在其它地方通過(guò)${}方式進(jìn)行引用--> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--SpringBoot 框架 web 項(xiàng)目起步依賴(lài),通過(guò)該依賴(lài)自動(dòng)關(guān)聯(lián)其它依賴(lài),不需要我們一個(gè)一個(gè)去添加了 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--SpringBoot 框架的測(cè)試起步依賴(lài),例如:junit 測(cè)試,如果不需要的話(huà)可以刪除--> <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> <!--SpringBoot 提供的打包編譯等插件--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
對(duì) SpringBoot 項(xiàng)目結(jié)構(gòu)進(jìn)行說(shuō)明
- mvn | mvnw | mvnw.cmd:使用腳本操作執(zhí)行 maven 相關(guān)命令,國(guó)內(nèi)使用較少,可刪除
- .gitignore:使用版本控制工具 git 的時(shí)候,設(shè)置一些忽略提交的內(nèi)容
- static|templates:后面模板技術(shù)中存放文件的目錄
- application.properties:SpringBoot 的配置文件,很多集成的配置都可以在該文件中進(jìn)行配置,例如:Spring、springMVC、Mybatis、Redis 等。目前是空的
- Application.java:SpringBoot 程序執(zhí)行的入口,執(zhí)行該程序中的 main 方法,SpringBoot就啟動(dòng)了
創(chuàng)建一個(gè) Spring MVC 的 SpringBootController
SpringBootController 類(lèi)所在包:com.lcz.springboot.controller
package com.lcz.springboot.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class SpringBootController { @RequestMapping(value = "/springBoot/say") public @ResponseBody String say() { return "Hello,springBoot!"; } }
注意:新創(chuàng)建的類(lèi)一定要位于 Application 同級(jí)目錄或者下級(jí)目錄,否則 SpringBoot 加載不到。
例如Application在springboot目錄下,那么你新創(chuàng)建的類(lèi)只能在springboot目錄下,可以直接在springboot目錄下也可以是springboot目錄下的其它目錄,一句話(huà)來(lái)說(shuō):只要在springboot目錄內(nèi)就可以讀取到!
在 IDEA 中右鍵,運(yùn)行 Application 類(lèi)中的 main 方法
通過(guò)在控制臺(tái)的輸出,可以看到啟動(dòng) SpringBoot 框架,會(huì)啟動(dòng)一個(gè)內(nèi)嵌的 tomcat,端口號(hào)為 8080,上下文根為空
在瀏覽器中輸入http://localhost:8080//springBoot/say
入門(mén)案例分析
- Spring Boot 的父級(jí)依賴(lài) spring-boot-starter-parent 配置之后,當(dāng)前的項(xiàng)目就是 SpringBoot 項(xiàng)目
- spring-boot-starter-parent 是一個(gè) Springboot 的父級(jí)依賴(lài),開(kāi)發(fā)SpringBoot 程序都需要繼承該父級(jí)項(xiàng)目,它用來(lái)提供相關(guān)的 Maven 默認(rèn)依賴(lài),使用它之后,常用的 jar包依賴(lài)可以省去 version 配置
- Spring Boot 提供了哪些默認(rèn) jar 包的依賴(lài),可查看該父級(jí)依賴(lài)的 pom 文件
- 如果不想使用某個(gè)默認(rèn)的依賴(lài)版本,可以通過(guò) pom.xml 文件的屬性配置覆蓋各個(gè)依賴(lài)項(xiàng)
通過(guò) pom.xml 文件的屬性配置覆蓋各個(gè)依賴(lài)項(xiàng),比如覆蓋 Spring 版本:
<properties> <spring-framework.version>5.0.0.RELEASE</ spring-framework.version > </properties>
- @SpringBootApplication 注解是 Spring Boot 項(xiàng)目的核心注解,主要作用是開(kāi)啟Spring 自動(dòng)配置,如果在 Application 類(lèi)上去掉該注解,那么不會(huì)啟動(dòng)SpringBoot程序
- main 方法是一個(gè)標(biāo)準(zhǔn)的 Java 程序的 main 方法,主要作用是作為項(xiàng)目啟動(dòng)運(yùn)行的入口
- @Controller 及 @ResponseBody 依然是我們之前的 Spring MVC,因?yàn)?Spring Boot的里面依然是使用我們的 Spring MVC + Spring + MyBatis 等框架
Spring Boot 的核心配置文件
Spring Boot 的核心配置文件用于配置 Spring Boot 程序,名字必須以 application 開(kāi)始
核心配置格式
.properties 文件(默認(rèn)采用該文件)
通過(guò)修改 application.properties 配置文件,在修改默認(rèn) tomcat 端口號(hào)及項(xiàng)目上下文件根
鍵值對(duì)的 properties 屬性文件配置方式:
#設(shè)置內(nèi)嵌 Tomcat 端口號(hào) server.port=9090 #配置項(xiàng)目上下文根 server.servlet.context-path=/003-springboot-port-context-path
配置完畢之后,啟動(dòng)瀏覽器測(cè)試
頁(yè)面顯示結(jié)果
.yml 文件
yml 是一種 yaml 格式的配置文件,主要采用一定的空格、換行等格式排版進(jìn)行配置。yaml 是一種直觀(guān)的能夠被計(jì)算機(jī)識(shí)別的的數(shù)據(jù)序列化格式,容易被人類(lèi)閱讀,yaml 類(lèi)似于 xml,但是語(yǔ)法比 xml 簡(jiǎn)潔很多,值與前面的冒號(hào)配置項(xiàng)必須要有一個(gè)空格, yml 后綴也可以使用 yaml 后綴
注意:當(dāng)兩種格式配置文件同時(shí)存在,使用的是.properties 配置文件,為了演示 yml,可以先將其改名,重新運(yùn)行 Application,查看啟動(dòng)的端口及上下文根
效果
多環(huán)境配置
在實(shí)際開(kāi)發(fā)的過(guò)程中,我們的項(xiàng)目會(huì)經(jīng)歷很多的階段(開(kāi)發(fā)->測(cè)試->上線(xiàn)),每個(gè)階段的配置也會(huì)不同,例如:端口、上下文根、數(shù)據(jù)庫(kù)等,那么這個(gè)時(shí)候?yàn)榱朔奖阍诓煌沫h(huán)境之間切換,SpringBoot 提供了多環(huán)境配置,具體步驟如下
為每個(gè)環(huán)境創(chuàng)建一個(gè)配置文件,命名必須以 application-環(huán)境標(biāo)識(shí).properties|yml
到此這篇關(guān)于SpringBoot入門(mén)實(shí)現(xiàn)第一個(gè)SpringBoot項(xiàng)目的文章就介紹到這了,更多相關(guān)第一個(gè)SpringBoot項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java利用Dijkstra算法求解拓?fù)潢P(guān)系最短路徑
迪杰斯特拉算法(Dijkstra)是由荷蘭計(jì)算機(jī)科學(xué)迪家迪杰斯特拉于1959年提出的,因此又叫狄克斯特拉算法。本文將利用迪克斯特拉(Dijkstra)算法求拓?fù)潢P(guān)系最短路徑,感興趣的可以了解一下2022-07-07webservice實(shí)現(xiàn)springboot項(xiàng)目間接口調(diào)用與對(duì)象傳遞示例
本文主要介紹了webservice實(shí)現(xiàn)springboot項(xiàng)目間接口調(diào)用與對(duì)象傳遞示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07通過(guò)原理解析Spring mvc的內(nèi)置編碼過(guò)濾器
這篇文章通過(guò)原理主要給大家解析了關(guān)于Spring mvc的內(nèi)置編碼過(guò)濾器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-09-09Spring?Cloud?Eureka服務(wù)注冊(cè)中心入門(mén)流程分析
這篇文章主要介紹了Spring?Cloud?Eureka服務(wù)注冊(cè)中心入門(mén)流程分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06