Spring Boot 簡介
Spring Boot 是 Spring 家族中的一個全新的框架,它用來簡化 Spring 應(yīng)用程序的創(chuàng)建和開發(fā)過程,也可以說 Spring Boot 能簡化我們之前采用 SpringMVC + Spring + MyBatis 框架進(jìn)行開發(fā)的過程。
在以往我們采用 SpringMVC + Spring + MyBatis 框架進(jìn)行開發(fā)的時候,搭建和整合三大框架,我們需要做很多工作,比如配置 web.xml,配置 Spring,配置 MyBatis,并將它們整合在一起等,而 Spring Boot 框架對此開發(fā)過程進(jìn)行了革命性的顛覆,完全拋棄了繁瑣的 xml 配置過程,采用大量的默認(rèn)配置簡化我們的開發(fā)過程。
Spring Boot 入門
創(chuàng)建一個 Module,選擇類型為 Spring Initializr 快速構(gòu)建
設(shè)置 GAV 坐標(biāo)及 pom 配置信息
選擇 Spring Boot 版本及依賴
會根據(jù)選擇的依賴自動添加起步依賴并進(jìn)行自動配置
設(shè)置項目名稱、項目路徑
提示:點擊 Finish,如果是第一次創(chuàng)建,在右下角會提示正在下載相關(guān)的依賴
Show all
項目創(chuàng)建完畢,如下
項目結(jié)構(gòu)
- static:存放靜態(tài)資源,如圖片、CSS、JavaScript 等
- templates:存放 Web 頁面的模板文件
- application.properties/application.yml 用于存放程序的各種依賴模塊的配置信息,比如 服務(wù)端口,數(shù)據(jù)庫連接配置等
對 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 框架的一個父項目,所有自己開發(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)前項目的 GAV 坐標(biāo)--> <groupId>com.bjpowernode.springboot</groupId> <artifactId>002-springboot-springmvc</artifactId> <version>1.0.0</version> <!--maven 項目名稱,可以刪除--> <name>002-springboot-springmvc</name> <!--maven 項目描述,可以刪除--> <description>Demo project for Spring Boot</description> <!--maven 屬性配置,可以在其它地方通過${}方式進(jìn)行引用--> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--SpringBoot 框架 web 項目起步依賴,通過該依賴自動關(guān)聯(lián)其它依賴,不需要我們一個一個去添加了 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--SpringBoot 框架的測試起步依賴,例如:junit 測試,如果不需要的話可以刪除--> <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>
對 SpringBoot 項目結(jié)構(gòu)進(jìn)行說明
- mvn | mvnw | mvnw.cmd:使用腳本操作執(zhí)行 maven 相關(guān)命令,國內(nèi)使用較少,可刪除
- .gitignore:使用版本控制工具 git 的時候,設(shè)置一些忽略提交的內(nèi)容
- static|templates:后面模板技術(shù)中存放文件的目錄
- application.properties:SpringBoot 的配置文件,很多集成的配置都可以在該文件中進(jìn)行配置,例如:Spring、springMVC、Mybatis、Redis 等。目前是空的
- Application.java:SpringBoot 程序執(zhí)行的入口,執(zhí)行該程序中的 main 方法,SpringBoot就啟動了
創(chuàng)建一個 Spring MVC 的 SpringBootController
SpringBootController 類所在包: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)建的類一定要位于 Application 同級目錄或者下級目錄,否則 SpringBoot 加載不到。
例如Application在springboot目錄下,那么你新創(chuàng)建的類只能在springboot目錄下,可以直接在springboot目錄下也可以是springboot目錄下的其它目錄,一句話來說:只要在springboot目錄內(nèi)就可以讀取到!
在 IDEA 中右鍵,運行 Application 類中的 main 方法
通過在控制臺的輸出,可以看到啟動 SpringBoot 框架,會啟動一個內(nèi)嵌的 tomcat,端口號為 8080,上下文根為空
在瀏覽器中輸入http://localhost:8080//springBoot/say
入門案例分析
- Spring Boot 的父級依賴 spring-boot-starter-parent 配置之后,當(dāng)前的項目就是 SpringBoot 項目
- spring-boot-starter-parent 是一個 Springboot 的父級依賴,開發(fā)SpringBoot 程序都需要繼承該父級項目,它用來提供相關(guān)的 Maven 默認(rèn)依賴,使用它之后,常用的 jar包依賴可以省去 version 配置
- Spring Boot 提供了哪些默認(rèn) jar 包的依賴,可查看該父級依賴的 pom 文件
- 如果不想使用某個默認(rèn)的依賴版本,可以通過 pom.xml 文件的屬性配置覆蓋各個依賴項
通過 pom.xml 文件的屬性配置覆蓋各個依賴項,比如覆蓋 Spring 版本:
<properties> <spring-framework.version>5.0.0.RELEASE</ spring-framework.version > </properties>
- @SpringBootApplication 注解是 Spring Boot 項目的核心注解,主要作用是開啟Spring 自動配置,如果在 Application 類上去掉該注解,那么不會啟動SpringBoot程序
- main 方法是一個標(biāo)準(zhǔn)的 Java 程序的 main 方法,主要作用是作為項目啟動運行的入口
- @Controller 及 @ResponseBody 依然是我們之前的 Spring MVC,因為 Spring Boot的里面依然是使用我們的 Spring MVC + Spring + MyBatis 等框架
Spring Boot 的核心配置文件
Spring Boot 的核心配置文件用于配置 Spring Boot 程序,名字必須以 application 開始
核心配置格式
.properties 文件(默認(rèn)采用該文件)
通過修改 application.properties 配置文件,在修改默認(rèn) tomcat 端口號及項目上下文件根
鍵值對的 properties 屬性文件配置方式:
#設(shè)置內(nèi)嵌 Tomcat 端口號 server.port=9090 #配置項目上下文根 server.servlet.context-path=/003-springboot-port-context-path
配置完畢之后,啟動瀏覽器測試
頁面顯示結(jié)果
.yml 文件
yml 是一種 yaml 格式的配置文件,主要采用一定的空格、換行等格式排版進(jìn)行配置。yaml 是一種直觀的能夠被計算機(jī)識別的的數(shù)據(jù)序列化格式,容易被人類閱讀,yaml 類似于 xml,但是語法比 xml 簡潔很多,值與前面的冒號配置項必須要有一個空格, yml 后綴也可以使用 yaml 后綴
注意:當(dāng)兩種格式配置文件同時存在,使用的是.properties 配置文件,為了演示 yml,可以先將其改名,重新運行 Application,查看啟動的端口及上下文根
效果
多環(huán)境配置
在實際開發(fā)的過程中,我們的項目會經(jīng)歷很多的階段(開發(fā)->測試->上線),每個階段的配置也會不同,例如:端口、上下文根、數(shù)據(jù)庫等,那么這個時候為了方便在不同的環(huán)境之間切換,SpringBoot 提供了多環(huán)境配置,具體步驟如下
為每個環(huán)境創(chuàng)建一個配置文件,命名必須以 application-環(huán)境標(biāo)識.properties|yml
到此這篇關(guān)于SpringBoot入門實現(xiàn)第一個SpringBoot項目的文章就介紹到這了,更多相關(guān)第一個SpringBoot項目內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_31762741/article/details/120336552