SpringBoot學(xué)習(xí)歷程(一):簡單入門

SpringBoot簡單入門

Spring Boot好處: 。塔拳。鼠证。。靠抑。一大堆量九,本人就不羅列了。

1.1 準備工作

  1. JDK 1.8+
  2. Maven 3.2+ (3.6.1安裝教程
  3. IntelliJ IDEA(2019.2.2安裝教程
    注意:
    JDK 安裝颂碧、Maven 安裝荠列、Git 安裝和 IntelliJ IDEA 開發(fā)工具安裝可參照對應(yīng)教程鏈接。

1.2 創(chuàng)建一個Spring Boot工程

其實 Spring Boot 工程本質(zhì)上就是一個 Maven 工程载城,這里說下兩種不同的創(chuàng)建方式:

1.2.1 在線創(chuàng)建

這是官方提供的創(chuàng)建方法,使用http://start.spring.io/來構(gòu)建一個簡單的Spring Boot項目肌似。

  1. 訪問:http://start.spring.io/
  2. 選擇構(gòu)建工具 Maven Project、Java诉瓦、Spring Boot 版本 2.1.8 以及一些工程基本信息川队,可參考下圖所示:
    SpringInitializr
  3. 點擊Generate Project下載項目壓縮包
  4. 導(dǎo)入到你的工程,如果是IDEA睬澡,則需要:
    a.菜單中選擇File–>New–>Project from Existing Sources...
    b.選擇解壓后的項目文件夾固额,點擊OK。
    c.點擊Import project from external model并選擇Maven煞聪,點擊Next到底為止斗躏。
    d.選擇Java SDK為jdk1.8。

1.2.2 IDEA創(chuàng)建

菜單中選擇File–>New–>Project昔脯,選擇Spring Initializr啄糙,然后如下圖操作:


1

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

1.2.3 項目結(jié)構(gòu)

項目結(jié)構(gòu)

這是默認的工程結(jié)構(gòu):
java 目錄中是編寫代碼的源目錄,test 目錄是編寫單元測試的目錄栅干。
resources 目錄會有 application.properties 應(yīng)用配置文件迈套,還有默認生成的 static 和 templates 目錄,static 用于存放靜態(tài)資源文件碱鳞,templates 用于存放模板文件桑李。可以在 application.properties 中自定義配置資源和模板目錄窿给。
pom.xml:Maven構(gòu)建說明文件贵白。

1.3 解析pom.xml

1.3.1 spring boot 父級依賴

<!-- Spring Boot 啟動父依賴 -->
 <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>2.1.8.RELEASE</version>
     <relativePath /> <!-- lookup parent from repository -->
 </parent>

這是Spring Boot父級依賴,parent它繼承自 spring-boot-dependencies崩泡,這個里邊定義了依賴的版本禁荒,也正是因為繼承了這個依賴,所以我們在寫依賴時才不需要寫版本號角撞。

1.3.2 spring-boot-starter-xx 啟動依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

Spring Boot提供了很多”開箱即用“的依賴模塊呛伴,都是以spring-boot-starter-xx作為命名的勃痴,通過提供眾多起步依賴降低項目依賴的復(fù)雜度。

1.3.3 Spring Boot Maven插件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

把項目打包成一個可執(zhí)行的jar热康。

1.4 應(yīng)用類

1.4.1啟動應(yīng)用類

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

@SpringBootApplication沛申,這是一個組合注解,主要包含了:

  1. @SpringBootConfiguration(包含@Configuration)姐军,也是一個組合注解
    在Spring Boot項目中替代@Configuration
  2. @EnableAutoConfiguration铁材,Spring Boot的強大之處,
    該注解會使spring boot根據(jù)項目的jar包進行自動配置奕锌,查看maven依賴
    可以看到有一個spring-boot-autoconfigure-xxx.jar著觉,這里有很多spring配置類,
    如:我們添加了spring-boot-starter-web惊暴, 項目中自動引入SpringMVC 的相關(guān)jar饼丘,Spring Boot就自動配置tomcat和springMVC相關(guān)bean
  3. @ComponentScan,默認掃描@SpringBootApplication所在類目錄及它的子目錄

@SpringBootApplication的exclude屬性:關(guān)閉配置辽话,
如果我們在項目中引入了solrj的相關(guān)包葬毫,spring boot會自動為我們創(chuàng)建solr
的相關(guān)bean,但有時候我們希望自己配置bean,這時可以這樣:
@SpringBootApplication(exclude={SolrAutoConfiguration.class})
這樣就可以自己寫java spring 配置類或xml屡穗,配置solr的相關(guān)bean了
同樣的,如果你不想引入Spring Boot默認的依賴可以在pom.xml中使用<exclusions>標簽忽肛,看下圖:


在這里插入圖片描述

1.4.2 Controller類

@RestController
@RequestMapping("/home")
public class EmailController {
    .....
}
  1. @RestController:提供實現(xiàn)了REST API村砂,可以服務(wù)JSON,XML或者其他。
  2. @RequestMapping:提供路由映射信息屹逛。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末础废,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子罕模,更是在濱河造成了極大的恐慌评腺,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淑掌,死亡現(xiàn)場離奇詭異蒿讥,居然都是意外死亡,警方通過查閱死者的電腦和手機抛腕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門芋绸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人担敌,你說我怎么就攤上這事摔敛。” “怎么了全封?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵马昙,是天一觀的道長桃犬。 經(jīng)常有香客問我,道長行楞,這世上最難降的妖魔是什么攒暇? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮敢伸,結(jié)果婚禮上扯饶,老公的妹妹穿的比我還像新娘。我一直安慰自己池颈,他們只是感情好尾序,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著躯砰,像睡著了一般每币。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上琢歇,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天兰怠,我揣著相機與錄音,去河邊找鬼李茫。 笑死揭保,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的魄宏。 我是一名探鬼主播秸侣,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宠互!你這毒婦竟也來了味榛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤予跌,失蹤者是張志新(化名)和其女友劉穎搏色,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體券册,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡频轿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了烁焙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片略吨。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖考阱,靈堂內(nèi)的尸體忽然破棺而出翠忠,到底是詐尸還是另有隱情,我是刑警寧澤乞榨,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布秽之,位于F島的核電站当娱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏考榨。R本人自食惡果不足惜跨细,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望河质。 院中可真熱鬧冀惭,春花似錦、人聲如沸掀鹅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乐尊。三九已至戚丸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扔嵌,已是汗流浹背限府。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留痢缎,地道東北人胁勺。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像独旷,于是被迫代替她去往敵國和親姻几。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容