java?Spring?Boot的介紹與初體驗(yàn)
Spring Boot 介紹
Spring Boot用于創(chuàng)建可運(yùn)行的、獨(dú)立的、生產(chǎn)級的基于Spring的應(yīng)用程序。Spring Boot對Spring和第三方庫持約定大于配置的觀念,以便可以輕松上手。大多數(shù)Spring Boot應(yīng)用程序只需要很少的配置。
Spring Boot可以通過使用java -jar或更傳統(tǒng)的war包部署來啟動Java應(yīng)用程序,Spring Boot的目標(biāo)是:
為所有Spring開發(fā)提供從根本上更快且可廣泛訪問的體驗(yàn)。開箱即用。提供一系列大型項(xiàng)目通用的非功能特性(例如嵌入式服務(wù)器、安全性、指標(biāo)、健康檢查和外部化配置)。沒有代碼生成,也不需要XML配置。
系統(tǒng)要求
Spring Boot 2.6.2需要Java 8,并且兼容Java 17(包括Java 17 ),還需要Spring Framework 5.3.14或更高版本,博主的Spring Boot系列博客都將基于Spring Boot 2.6.2,它是目前最新的正式版。

構(gòu)建工具
Spring Boot為以下構(gòu)建工具提供了顯式構(gòu)建支持:
Maven 3.5+Gradle 6.8.x 6.9.x 7.x
Servlet 容器
Spring Boot支持如下圖所示的嵌入式Servlet容器:

可以將Spring Boot應(yīng)用程序部署到任何兼容Servlet 3.1+的容器。
初體驗(yàn)
使用IDEA創(chuàng)建Spring Boot應(yīng)用程序,如下圖所示進(jìn)行操作。

使用Spring Initializer構(gòu)建Spring Boot項(xiàng)目比較方便,可以讓我們選擇需要的依賴、Spring Boot版本、語言和打包方式,并且還會自動生成項(xiàng)目常用文件(如配置文件、靜態(tài)文件的包、啟動類等)。當(dāng)然也可以使用Maven構(gòu)建Spring Boot項(xiàng)目,博主平時(shí)喜歡使用Maven構(gòu)建項(xiàng)目(自己寫啟動類、配置文件和pom.xml即可,可以讓我們更加熟悉構(gòu)建Spring Boot項(xiàng)目的流程),Spring Initializer應(yīng)該也是通過Maven來構(gòu)建項(xiàng)目,只不過在構(gòu)建項(xiàng)目時(shí)提供了一些便利。

選擇依賴和Spring Boot版本,博主帶大家體驗(yàn)一下用Spring Boot編寫一個(gè)接口的方便,因此需要web依賴(webflux以后也會介紹)。

構(gòu)建的Spring Boot項(xiàng)目的結(jié)構(gòu)如下圖所示:

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.6.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.kaven</groupId>
<artifactId>springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot</name>
<description>springboot</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>
啟動類:
package com.kaven.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
@SpringBootApplication注解是啟動類的關(guān)鍵,它會開啟自動配置和組件掃描,大家現(xiàn)在可以不用管這些,以后博主都會詳細(xì)介紹。SpringApplication.run()則會創(chuàng)建和管理應(yīng)用上下文以及打印Banner等。
啟動應(yīng)用,如下圖所示進(jìn)行操作:

啟動成功,如下圖所示:

寫一個(gè)Hellow World接口,根據(jù)習(xí)慣,將接口放在controller包下。

package com.kaven.springboot.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@GetMapping("/helloworld")
public String helloWorld() {
return "Hello World";
}
}
@RestController是一個(gè)便利的注解,它組合了@Controller(帶有此注解的類型被視為控制器)和@ResponseBody(指示方法的返回值應(yīng)綁定到Web響應(yīng)的Body中)注解。@GetMapping("/helloworld")注解定義了接口處理的請求類型(GET)和請求路徑(/helloworld),用于處理請求。
重新啟動應(yīng)用,再訪問接口,Spring Boot應(yīng)用默認(rèn)啟動在8080端口上。

訪問接口時(shí),應(yīng)用的控制臺也有日志輸出,DispatcherServlet是一種Servlet實(shí)現(xiàn),可以用于將請求派發(fā)給指定的控制器中定義的接口,但它的作用不僅如此,以后博主也會詳細(xì)介紹。

總結(jié)
到此這篇關(guān)于java Spring Boot的介紹與初體驗(yàn)的文章就介紹到這了,更多相關(guān)java Spring Boot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java中JDBC事務(wù)與JTA分布式事務(wù)總結(jié)與區(qū)別
- 詳解Java TCC分布式事務(wù)實(shí)現(xiàn)原理
- 淺談Java實(shí)現(xiàn)分布式事務(wù)的三種方案
- 詳解Java分布式事務(wù)的 6 種解決方案
- java springboot郵箱找回密碼功能的實(shí)現(xiàn)講解
- Java SpringBoot實(shí)現(xiàn)文件上傳功能的示例代碼
- SpringBoot整合WxJava開啟消息推送的實(shí)現(xiàn)
- Java全面深入探究SpringBoot攔截器與文件上傳
- 一文搞明白Java?Spring?Boot分布式事務(wù)解決方案
相關(guān)文章
Java在Excel中創(chuàng)建多級分組、折疊或展開分組的實(shí)現(xiàn)
這篇文章主要介紹了Java在Excel中創(chuàng)建多級分組、折疊或展開分組的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
JAVA 格式化JSON數(shù)據(jù)并保存到j(luò)son文件中的實(shí)例
這篇文章主要介紹了JAVA 格式化JSON數(shù)據(jù)并保存到j(luò)son文件中的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
使用@DS輕松解決動態(tài)數(shù)據(jù)源的問題
這篇文章主要介紹了使用@DS輕松解決動態(tài)數(shù)據(jù)源的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Java數(shù)據(jù)結(jié)構(gòu)專題解析之棧和隊(duì)列的實(shí)現(xiàn)
從數(shù)據(jù)結(jié)構(gòu)的定義看,棧和隊(duì)列也是一種線性表。其不同之處在于棧和隊(duì)列的相關(guān)運(yùn)算具有特殊性,只是線性表相關(guān)運(yùn)算的一個(gè)子集。更準(zhǔn)確的說,一般線性表的插入、刪除運(yùn)算不受限制,而棧和隊(duì)列上的插入刪除運(yùn)算均受某種特殊限制。因此,棧和隊(duì)列也稱作操作受限的線性表2021-10-10
Java中的ArrayList(擴(kuò)容機(jī)制)詳解
ArrayList作為Java中廣泛使用的動態(tài)數(shù)組,其擴(kuò)容機(jī)制是保證性能和內(nèi)存使用平衡的關(guān)鍵,默認(rèn)初始容量為10,擴(kuò)容因子為1.5,旨在減少頻繁的內(nèi)存分配和數(shù)據(jù)遷移代價(jià),同時(shí)建議使用預(yù)估計(jì)的初始化容量以減少擴(kuò)容次數(shù)2024-11-11

