Springboot創(chuàng)建項(xiàng)目的圖文教程(idea版本)
原文地址:http://www.javayihao.top/detail/84
一:概述
由于springboot項(xiàng)目,不管是java工程還是web工程都可以直接以jar方式運(yùn)行,所以推薦創(chuàng)建jar工程,這里創(chuàng)建jar工程項(xiàng)目為例。
二:兩種方式創(chuàng)建springboot項(xiàng)目
1.第一種方式
手動(dòng)在idea中new一個(gè)新的項(xiàng)目。選擇maven工程
完成的結(jié)構(gòu)如圖
然后在pom文件繼承spring-boot-starter-parent依賴接口完成創(chuàng)建
<?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> <groupId>com.javayihao.top</groupId> <artifactId>bootdemo</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.1.5.RELEASE</version> </parent> </project>
2.第二種方式:快捷方式創(chuàng)建Springboot項(xiàng)目(推薦)
接著引入一些項(xiàng)目場(chǎng)景所涉及到的依賴statrter,也就是選擇項(xiàng)目開發(fā)所用到的依賴。這里目前不選擇,采取直接在pom文件使用手動(dòng)導(dǎo)入的方式,完整的項(xiàng)目結(jié)構(gòu)如圖所示。
這樣我么就創(chuàng)建完成了
三:Pom文件講解
1.parent說(shuō)明
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELEASE</version> <relativePath/> </parent>
當(dāng)我們按住ctrl點(diǎn)擊這個(gè)parent依賴可以看到如下
這個(gè)dependencies才是正真的boot版本仲裁中心,再次進(jìn)入這個(gè)dependencies版本中心,可以看到許多的版本版本聲明,
所以以后導(dǎo)入其他此處已經(jīng)存在的依賴默認(rèn)不需要寫版本,但是dependencecies中沒有聲明的還需寫出版本號(hào)
2.啟動(dòng)器
Boot會(huì)將一個(gè)個(gè)項(xiàng)目場(chǎng)景做成一個(gè)個(gè)starter啟動(dòng)器,項(xiàng)目中涉及到什么場(chǎng)景就引入什么啟動(dòng)器,項(xiàng)目中引入這些啟動(dòng)器之后,和這個(gè)starter相關(guān)的依賴也會(huì)被引入。我們也可以自定義自己的場(chǎng)景啟動(dòng)器,后續(xù)文章會(huì)介紹,這里我引入了測(cè)試和基本的啟動(dòng)器
再如這里引入web開發(fā)的啟動(dòng)器
https://docs.spring.io/spring-boot/docs/2.1.5.RELEASE/reference/htmlsingle/
3.運(yùn)行項(xiàng)目
接下來(lái)我們寫一個(gè)簡(jiǎn)單的案例,瀏覽器放回地址返回字符串hello world,新建一個(gè)controller包,場(chǎng)景IndexController類,處理前端請(qǐng)求。
@Controller public class IndexController { @RequestMapping("/index") @ResponseBody public String index() { return "helloword!"; } }
啟動(dòng)入口類,查看控制臺(tái),可以看到在8080端口啟動(dòng)完成
通過瀏覽器訪問
4.啟動(dòng)程序講解
xxxApplication作為啟動(dòng)類
SpringBootApplication應(yīng)用標(biāo)注在某個(gè)類上說(shuō)明這個(gè)類是SpringBoot的主配置類,SpringBoot就應(yīng)該運(yùn)行這個(gè)類的main方法來(lái)啟動(dòng)SpringBoot應(yīng)用
我們進(jìn)入啟動(dòng)類。有個(gè)SpringBootApplication注解,當(dāng)我們?nèi)サ暨@個(gè)注解,再次啟動(dòng)將會(huì)報(bào)錯(cuò),我們進(jìn)入這個(gè)注解,
再次進(jìn)入SpringBootConfiguration注解,看到
其中的Configuration就是spring中的一個(gè)注解,用來(lái)標(biāo)注當(dāng)前這個(gè)類是配置類,但是在boot項(xiàng)目中推薦使用@SpringBootConfiguration標(biāo)注當(dāng)前類是一個(gè)配置類。
什么是配置類?相當(dāng)于之前在ssm項(xiàng)目中的那些xml文件,在boot項(xiàng)目中將以類的方式替代xml文件,我們接著進(jìn)入Configuration注解
我們也可以清楚的看見配置類也就是一個(gè)boot組件
EnableAutoConfiguration是開啟自動(dòng)配置,我們創(chuàng)建完項(xiàng)目沒有任何的配置,直接就可以運(yùn)行,就是因?yàn)镋nableAutoConfiguration幫我們自動(dòng)配置以前手動(dòng)配置的相關(guān)東西,進(jìn)入這個(gè)注解
@AutoConfigurationPackage自動(dòng)配置包注解,再次進(jìn)入可以看到@Import({Registrar.class}),這個(gè)是spring的底層注解,作用是給容器中導(dǎo)入一個(gè)組件,導(dǎo)入哪些組件由Registrar.class指定。
我們進(jìn)入@Import({AutoConfigurationImportSelector.class})
boot會(huì)給容器導(dǎo)入這個(gè)場(chǎng)景開發(fā)需要的所有配置類,并配置好這些組件。我們就不需要配置
如果啟動(dòng)類和其他類不在同一個(gè)根包,還需要掃描包
Springboot應(yīng)用常用的配置注解
5.修改默認(rèn)的banner
我們啟動(dòng)項(xiàng)目可以看到
如何修改上面展示的banner
1.打開網(wǎng)址http://patorjk.com/software/taag/#p=display&h=3&v=3#f=4Max&t=qf%20Sping%20Boor
2.copy生成的字符串到一個(gè)txt文件中,將其命名為banner.txt,將這個(gè)文件拷貝到resoures目錄中
總結(jié)
到此這篇關(guān)于Springboot創(chuàng)建項(xiàng)目的圖文教程(idea版本)的文章就介紹到這了,更多相關(guān)Springboot創(chuàng)建項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用MyBatis進(jìn)行簡(jiǎn)單的更新與查詢方式
這篇文章主要介紹了使用MyBatis進(jìn)行簡(jiǎn)單的更新與查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10Java實(shí)現(xiàn)格式化打印慢SQL日志的方法詳解
不管我們使用何種語(yǔ)言開發(fā),一旦程序發(fā)生異常,日志是一個(gè)很重要的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)格式化打印慢SQL日志的相關(guān)資料,需要的朋友可以參考下2022-10-10Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事
變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來(lái)存儲(chǔ)各種類型的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07JAVA內(nèi)存模型和Happens-Before規(guī)則知識(shí)點(diǎn)講解
在本篇文章里小編給大家整理的是一篇關(guān)于JAVA內(nèi)存模型和Happens-Before規(guī)則知識(shí)點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。2020-11-11SpringBoot入口類和@SpringBootApplication講解
這篇文章主要介紹了SpringBoot入口類和@SpringBootApplication講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Java基本數(shù)據(jù)類型族譜與易錯(cuò)點(diǎn)梳理解析
Java有八大基本類型,很多同學(xué)只對(duì)經(jīng)常使用的int類型比較了解。有的同學(xué)是剛從C語(yǔ)言轉(zhuǎn)入Java學(xué)習(xí),誤以為兩者的基本數(shù)據(jù)類型完全相同,這也是大錯(cuò)特錯(cuò)的。今天這本Java基本數(shù)據(jù)類型全解析大字典,可以幫助你直接通過目錄找到你想要了解某一種基本數(shù)據(jù)類型2022-01-01SpringBoot讀取properties文件配置項(xiàng)過程解析
這篇文章主要介紹了SpringBoot讀取properties文件配置項(xiàng)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06