SpringBoot基于Spring框架進(jìn)行“變態(tài)級(jí)“封裝和擴(kuò)展,由于上手簡(jiǎn)單、配置簡(jiǎn)單、集成簡(jiǎn)單,使得SpringBoot一躍成為近幾年Java開(kāi)發(fā)界的網(wǎng)紅,加之眾多的開(kāi)源同僚的鼎力支持,為SpringBoot框架構(gòu)建起了強(qiáng)大的開(kāi)發(fā)生態(tài)圈。SpringBoot 1.x已經(jīng)火便大江南北,應(yīng)用到了眾多的軟件項(xiàng)目中,以及作為微服務(wù)的基礎(chǔ)部分。無(wú)論是老一輩的古董級(jí)程序員還是新晉開(kāi)發(fā)小生,都是時(shí)候拿起這把寶劍,在浩瀚的互聯(lián)網(wǎng)代碼世界中廝殺了。

雖然現(xiàn)在很多公司還是采用SpringBoot1.x,但技術(shù)車輪滾滾向前,SpringBoot2.x已經(jīng)粉墨登場(chǎng),那我們的SpringBoot之旅就從SpringBoot2.x開(kāi)始。
版本選擇
從SpringBoot官網(wǎng) https://spring.io/projects/spring-boot/ 看到,現(xiàn)在的最新穩(wěn)定版本是2.2.5

另外,你會(huì)看到,其實(shí)他還有更新的版本,不過(guò)還處于開(kāi)發(fā)或測(cè)試階段,并非穩(wěn)定版。

作為企業(yè)項(xiàng)目開(kāi)發(fā)和個(gè)人技術(shù)學(xué)習(xí),除非個(gè)人興趣嘗鮮或者邀請(qǐng)公測(cè)踩坑,才會(huì)去選擇非穩(wěn)定的版本,除此之外一般都選擇最新的穩(wěn)定版本,這里也就是2.2.5版本。
(另外需要說(shuō)明的是,作為企業(yè)開(kāi)發(fā),要考慮跟已有項(xiàng)目的兼容,若你公司大部分項(xiàng)目是采用SpringBoot1.x那么,保險(xiǎn)起見(jiàn),你也應(yīng)該首選SpringBoot1.x。)
環(huán)境版本說(shuō)明
1、SpringBoot2.2.5要求JDK版本最低要在8或以上版本,而官方早已經(jīng)一路支持到了JDK13,此外,SpringBoot2.2.5的Spring內(nèi)核版本是5.2.4
2、支持的構(gòu)建工具有:Maven和Gradle,分別支持的版本是Maven3.3+和Gradle 5.x和Gradle6.x。
3、SpringBoot2.2.5內(nèi)置的Servlet容器和Servlet版本的情況如下:

開(kāi)發(fā)工具說(shuō)明
不推薦你用記事本編寫(xiě)代碼,雖然這是一項(xiàng)很重要的技能,為了開(kāi)發(fā)效率,我們還是首選IDE工具,IDEA和MyEClipse 隨便你選,個(gè)人比較推薦IDEA(IDEA的插件、工具都很豐富,而且代碼提示不卡頓,環(huán)境配置很多都自動(dòng)幫你完成,很方便)。
構(gòu)建工具推薦使用Maven,當(dāng)然你用Gradle也是可以的。
Maven關(guān)鍵配置
所需的POM文件完整內(nèi)容如下:
<?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>
<groupId>com.yimadx</groupId>
<artifactId>springboot-test</artifactId>
<version>1.0</version>
<!-- 集成Springboot的核心依賴-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
</parent>
<!-- 添加需要的依賴包 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 編譯打包成可執(zhí)行jar包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
其中,parent、dependencies、build等部分為關(guān)鍵配置,其他為筆者自己的工程命名(根據(jù)自己實(shí)際命名進(jìn)行更改,一般如果是用IDEA這樣的工具,這些配置工程名的相關(guān)配置都是自動(dòng)生成的)。
環(huán)境搭建
1、創(chuàng)建工程 打開(kāi)IDEA,新建項(xiàng)目,填寫(xiě)GroupId和ArtifactId以及Version,Next

2、命名項(xiàng)目名稱和代碼文件目錄 如項(xiàng)目名稱命名為springboot-test

3、完成后,創(chuàng)建的工程中,打開(kāi)新建項(xiàng)目的POM.xml文件,將寫(xiě)入上述Maven關(guān)鍵配置說(shuō)明中POM文件內(nèi)容的關(guān)鍵配置。
4、新建java包,作為類的根級(jí)包,這里將根包命名為com.yimadx ,以后的類文件均放置在該包下,這步一定要做,注意千萬(wàn)不要使用默認(rèn)的包,不然后續(xù)會(huì)有很多問(wèn)題。

5、在根包c(diǎn)om.yimadx下新建Application類,并編寫(xiě)main方法,加入SpringBoot注解,這將作為整個(gè)程序的入口。
@SpringBootApplication
public class Application {
public static void main(String[] args){
SpringApplication.run(Application.class, args);
}
}
關(guān)于@SpringBootApplication注解以及SpringBoot的其他核心注解的區(qū)別和聯(lián)系會(huì)到后續(xù)章節(jié)中專門(mén)介紹。
6、配置運(yùn)行環(huán)境,測(cè)試是否正常運(yùn)行

出現(xiàn)如下日志且無(wú)報(bào)錯(cuò),則表示運(yùn)行成功

當(dāng)然,你也可以將項(xiàng)目打成jar包后,使用java -jar 命令,手工啟動(dòng)程序。運(yùn)行程序時(shí),還可以添加啟動(dòng)參數(shù),這個(gè)后續(xù)會(huì)專門(mén)介紹。
7、編寫(xiě)控制器類,測(cè)試框架能正常工作。在根包c(diǎn)om.yimadx下新建controller包,用于放置我們的控制器類。(出于開(kāi)發(fā)規(guī)范,即時(shí)是自己學(xué)習(xí),也養(yǎng)成習(xí)慣,規(guī)劃不同的包放不同作用的類)。
在com.yimadx.controller包下新建HelloController類,并添加@Controller注解,編寫(xiě)第一請(qǐng)求處理邏···
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Success!";
}
}
8、重新運(yùn)行項(xiàng)目,打開(kāi)瀏覽器,輸入 http://localhost:8080/hello ,出現(xiàn)success則表示運(yùn)行成功。
至此,最簡(jiǎn)單的springboot運(yùn)行環(huán)境搭建完畢。
本文由弈碼當(dāng)先 root1024 獨(dú)家發(fā)布!