<2>Spring Boot 之 HelloWorld詳解

????????????????????????????????Spring Boot 之 HelloWorld詳解

主目錄:http://www.spring4all.com/article/246

轉(zhuǎn)載于:http://www.spring4all.com/article/266

Spring Boot(英文中是“引導”的意思)烙荷,是用來簡化Spring應用的搭建到開發(fā)的過程本今。應用開箱即用基括,只要通過 “just run”(可能是 java -jar 或 tomcat 或 maven插件run 或 shell腳本)通危,就可以啟動項目。二者体啰,Spring Boot 只要很少的Spring配置文件(例如那些xml囱修,property)吠卷。 因為“習慣優(yōu)先于配置”的原則,使得Spring Boot在快速開發(fā)應用和微服務架構實踐中得到廣泛應用岛心。???Javaer裝好JDK環(huán)境和Maven工具就可以開始學習Boot了;


HelloWorld實戰(zhàn)詳解

首先得有個maven基礎項目来破,可以直接使用Maven骨架工程生成Maven骨架Web項目,即man?archetype:generate命令:mvn archetype:generate -DgroupId=springboot -DartifactId=springboot-helloworld -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

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 http://maven.apache.org/xsd/maven-4.0.0.xsd">

? ? <modelVersion>4.0.0</modelVersion>

? ? <groupId>springboot</groupId>

? ? <artifactId>springboot-helloworld</artifactId>

? ? <version>0.0.1-SNAPSHOT</version>

? ? <name>springboot-helloworld :: HelloWorld Demo</name>

? ? <!-- Spring Boot 啟動父依賴 -->

? ? <parent>

? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? <artifactId>spring-boot-starter-parent</artifactId>

? ? ? ? <version>1.3.3.RELEASE</version>

? ? </parent>

? ? <dependencies>

? ? ? ? <!-- Spring Boot web依賴 -->

? ? ? ? <dependency>

? ? ? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? ? ? <artifactId>spring-boot-starter-web</artifactId>

? ? ? ? </dependency>

? ? ? ? <!-- Junit -->

? ? ? ? <dependency>

? ? ? ? ? ? <groupId>junit</groupId>

? ? ? ? ? ? <artifactId>junit</artifactId>

? ? ? ? ? ? <version>4.12</version>

? ? ? ? </dependency>

? ? </dependencies>

</project>


只要加入一個 Spring Boot 啟動父依賴即可;

Controller層

Spring Boot HelloWorld案例

@RestController

public class HelloWorldController {

? ? @RequestMapping("/")

? ? public String sayHello() {

? ? ? ? return "Hello,World!";

? ? }

}

@RestController和@RequestMapping注解是來自SpringMVC的注解忘古,它們不是SpringBoot的特定部分讳癌。 1. @RestController:提供實現(xiàn)了REST API,可以服務JSON,XML或者其他存皂。這里是以String的形式渲染出結(jié)果晌坤。 2. @RequestMapping:提供路由信息,"/“路徑的HTTP Request都會被映射到sayHello方法進行處理旦袋。 具體參考骤菠,世界上最好的文檔來源自官方的《Spring Framework Document

啟動應用類

和第一段描述一樣,開箱即用疤孕。如下面Application類:

Spring Boot應用啟動類

@SpringBootApplication

public class Application {

? ? public static void main(String[] args) {

? ? ? ? SpringApplication.run(Application.class,args);

? ? }

}

@SpringBootApplication:Spring Boot 應用的標識 2. Application很簡單商乎,一個main函數(shù)作為主入口。SpringApplication引導應用祭阀,并將Application本身作為參數(shù)傳遞給run方法鹉戚。具體run方法會啟動嵌入式的Tomcat并初始化Spring環(huán)境及其各Spring組件鲜戒。

Controller層測試類?

一個好的程序,不能缺少好的UT抹凳。針對HelloWorldController的UT如下:

Spring Boot HelloWorldController 測試

public class HelloWorldControllerTest {

? ? @Test

? ? public void testSayHello() {

? ? ? ? assertEquals("Hello,World!",new HelloWorldController().sayHello());

? ? }

}


運行

Just Run的宗旨,運行很簡單,直接右鍵Run運行Application類,同樣你也可以Debug Run;可以在控制臺中看到:

Tomcat started on port(s): 8080 (http)

Started Application in 5.986 seconds (JVM running for 7.398)

然后訪問?http://localhost:8080/?,即可在頁面中看到Spring Boot對你 say hello:

輸出結(jié)果:Hello,World遏餐!

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市赢底,隨后出現(xiàn)的幾起案子失都,更是在濱河造成了極大的恐慌,老刑警劉巖幸冻,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粹庞,死亡現(xiàn)場離奇詭異,居然都是意外死亡洽损,警方通過查閱死者的電腦和手機庞溜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碑定,“玉大人流码,你說我怎么就攤上這事〔桓担” “怎么了旅掂?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長访娶。 經(jīng)常有香客問我商虐,道長,這世上最難降的妖魔是什么崖疤? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任秘车,我火速辦了婚禮,結(jié)果婚禮上劫哼,老公的妹妹穿的比我還像新娘叮趴。我一直安慰自己,他們只是感情好权烧,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布眯亦。 她就那樣靜靜地躺著,像睡著了一般般码。 火紅的嫁衣襯著肌膚如雪妻率。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天板祝,我揣著相機與錄音宫静,去河邊找鬼。 笑死,一個胖子當著我的面吹牛孤里,可吹牛的內(nèi)容都是我干的伏伯。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捌袜,長吁一口氣:“原來是場噩夢啊……” “哼说搅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起琢蛤,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蜓堕,失蹤者是張志新(化名)和其女友劉穎抛虏,沒想到半個月后博其,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡迂猴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年慕淡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沸毁。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡峰髓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出息尺,到底是詐尸還是另有隱情携兵,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布搂誉,位于F島的核電站徐紧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏炭懊。R本人自食惡果不足惜并级,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侮腹。 院中可真熱鬧嘲碧,春花似錦、人聲如沸父阻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽加矛。三九已至履婉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間荒椭,已是汗流浹背谐鼎。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狸棍。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓身害,卻偏偏與公主長得像,于是被迫代替她去往敵國和親草戈。 傳聞我的和親對象是個殘疾皇子塌鸯,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

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