Springboot入門

創(chuàng)建SpringBoot工程

可以直接采用https://start.spring.io/ 生成工程,也可以按照官方教程進行工程創(chuàng)建 http://projects.spring.io/spring-boot/
1、引入需要的pom

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

2舵盈、編寫一個controller

package hello;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

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

3.運行main方法论矾,啟動web工程剃允,訪問http://localhost:8080/
整個web工程搭建完成沛简,也就是所謂的光速創(chuàng)建

其中涉及到的幾個概念如下:

應用入口類

main是標準的Java應用main方法,主要作用是作為項目啟動的入口斥废。
Application

起步依賴 spring-boot-starter-xx

Spring Boot提供了很多”開箱即用“的依賴模塊椒楣,都是以spring-boot-starter-xx作為命名的。舉個例子來說明一下這個起步依賴的好處营袜,比如組裝臺式機和品牌機撒顿,自己組裝的話需要自己去選擇不同的零件丑罪,最后還要組裝起來荚板,期間有可能會遇到零件不匹配的問題。耗時又消力吩屹,而品牌機就好一點跪另,買來就能直接用的,后續(xù)想換零件也是可以的煤搜。相比較之下免绿,后者帶來的效果更好點(這里就不討論價格問題哈),起步依賴就像這里的品牌機擦盾,自動給你封裝好了你想要實現(xiàn)的功能的依賴嘲驾。就比如我們之前要實現(xiàn)web功能,引入了spring-boot-starter-web這個起步依賴迹卢。

image.png

依賴很多辽故,所以Spring Boot通過提供眾多起步依賴降低項目依賴的復雜度。起步依賴本質(zhì)上是一個Maven項目對象模型(Project Object Model腐碱,POM)誊垢,定義了對其他庫的傳遞依賴,這些東西加在一起即支持某項功能症见。很多起步依賴的命名都暗示了它們提供的某種或者某類功能喂走。

實際上這些模塊并不包含代碼,主要是作為模塊對各個依賴包進行封裝谋作,降低依賴配置時的復雜度芋肠。

SpringBoot里的常用注解

對于新手非常容易被里面大量的注解搞暈掉,在這里進行梳理:
@ComponentScan
@ComponentScan這個注解在Spring中很重要遵蚜,它對應XML配置中的元素帖池,@ComponentScan的功能其實就是自動掃描并加載符合條件的組件(比如@Component和@Repository等)或者bean定義秒咐,最終將這些bean定義加載到IoC容器中。
我們可以通過basePackages等屬性來細粒度的定制@ComponentScan自動掃描的范圍,如果不指定括尸,則默認Spring框架實現(xiàn)會從聲明@ComponentScan所在類的package進行掃描侥锦。

注:所以SpringBoot的啟動類最好是放在root package下,因為默認不指定basePackages雷滋。

SpringBoot精要

自動配置:針對很多Spring應用程序常見的應用功能,Spring Boot能自動提供相關配置文兢。

Spring Boot會為這些常見配置場景進行自動配置晤斩。如果Spring Boot在應用程序的Classpath里發(fā)現(xiàn)H2數(shù)據(jù)庫的庫,那么它就自動配置一個嵌入式H2數(shù)據(jù)庫姆坚。如果在Classpath里發(fā)現(xiàn)JdbcTemplate澳泵,那么它還會為你配置一個JdbcTemplate的Bean。你無需操心那些Bean的配置兼呵,Spring Boot會做好準備兔辅,隨時都能將其注入到你的Bean里。
Spring Boot的自動配置遠不止嵌入式數(shù)據(jù)庫和JdbcTemplate击喂,它有大把的辦法幫你減輕配置負擔维苔,這些自動配置涉及Java持久化API(Java Persistence API,JPA)懂昂、Thymeleaf模板介时、安全和Spring MVC。

起步依賴:告訴Spring Boot需要什么功能凌彬,它就能引入需要的庫沸柔。

向項目中添加依賴是件富有挑戰(zhàn)的事。你需要什么庫铲敛?它的Group和Artifact是什么褐澎?你需要
哪個版本?哪個版本不會和項目中的其他依賴發(fā)生沖突原探?
Spring Boot通過起步依賴為項目的依賴管理提供幫助乱凿。起步依賴其實就是特殊的Maven依
賴和Gradle依賴,利用了傳遞依賴解析咽弦,把常用庫聚合在一起徒蟆,組成了幾個為特定功能而定制
的依賴。

命令行界面:這是Spring Boot的可選特性型型,借此你只需寫代碼就能完成完整的應用程序段审,無需傳統(tǒng)項目構建。
Actuator:讓你能夠深入運行中的Spring Boot應用程序闹蒜,一探究竟寺枉。

從本質(zhì)上來說抑淫,Spring Boot就是Spring,它做了那些沒有它你自己也會去做的SpringBean配置姥闪。謝天謝地始苇,幸好有Spring,你不用再寫這些樣板配置了筐喳,可以專注于應用程序的邏輯催式,這些才是應用程序獨一無二的東西。

參考:
使用 Spring Boot 快速構建 Spring 框架應用
https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/
Spring Boot干貨系列:(一)優(yōu)雅的入門篇
http://www.cnblogs.com/zheting/p/6707032.html
Spring Boot干貨系列:(二)配置文件解析http://www.cnblogs.com/zheting/p/6707036.html
Spring Boot干貨系列:(三)啟動原理解析
http://www.cnblogs.com/zheting/p/6707035.html
http://www.reibang.com/p/36529384b8c6

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末避归,一起剝皮案震驚了整個濱河市荣月,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌梳毙,老刑警劉巖哺窄,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異账锹,居然都是意外死亡萌业,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進店門牌废,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咽白,“玉大人,你說我怎么就攤上這事鸟缕。” “怎么了排抬?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵懂从,是天一觀的道長。 經(jīng)常有香客問我蹲蒲,道長番甩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任届搁,我火速辦了婚禮缘薛,結果婚禮上,老公的妹妹穿的比我還像新娘卡睦。我一直安慰自己宴胧,他們只是感情好,可當我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布表锻。 她就那樣靜靜地躺著恕齐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瞬逊。 梳的紋絲不亂的頭發(fā)上显歧,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天仪或,我揣著相機與錄音,去河邊找鬼士骤。 笑死范删,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的拷肌。 我是一名探鬼主播瓶逃,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼廓块!你這毒婦竟也來了厢绝?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤带猴,失蹤者是張志新(化名)和其女友劉穎昔汉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拴清,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡靶病,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了口予。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娄周。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖沪停,靈堂內(nèi)的尸體忽然破棺而出煤辨,到底是詐尸還是另有隱情,我是刑警寧澤木张,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布众辨,位于F島的核電站,受9級特大地震影響舷礼,放射性物質(zhì)發(fā)生泄漏鹃彻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一妻献、第九天 我趴在偏房一處隱蔽的房頂上張望蛛株。 院中可真熱鬧,春花似錦育拨、人聲如沸谨履。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屉符。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矗钟,已是汗流浹背唆香。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吨艇,地道東北人躬它。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像东涡,于是被迫代替她去往敵國和親冯吓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,995評論 2 361

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