通過(guò)Spring Boot快速搭建RESTful服務(wù)

使用Spring框架開(kāi)發(fā)Java應(yīng)用時(shí)间聊,需要寫大量的xml配置文件,Spring Boot使用了大量的Java配置來(lái)減少xml配置

Spring Boot的特點(diǎn):
1渔工、集成了spring的所有特性畦贸,可以開(kāi)發(fā)獨(dú)立的spring應(yīng)用
2、內(nèi)置tomcat樟凄、jetty等web服務(wù)器聘芜,無(wú)需單獨(dú)部署web服務(wù)器
3、沒(méi)有代碼生成和XML配置要求缝龄,都是自動(dòng)配置

開(kāi)發(fā)環(huán)境:
IDE:intellij idea
spring boot版本:1.5.2

  • 新建項(xiàng)目:
    在intellij中新建java web項(xiàng)目


  • 添加maven支持:
    右鍵項(xiàng)目汰现,Add Framework Support,然后選擇maven即可


  • 引入spring boot相關(guān)依賴
    pom.xml中添加:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.jayway.jsonpath</groupId>
            <artifactId>json-path</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-releases</id>
            <url>https://repo.spring.io/libs-release</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-releases</id>
            <url>https://repo.spring.io/libs-release</url>
        </pluginRepository>
    </pluginRepositories>
  • 編寫demo接口
@RestController
public class BootController {

    @RequestMapping("/helloworld")
    public ApiResponse helloWorld() {

        ApiResponse<String> ret = new ApiResponse<>();
        ret.setId("xxx");
        ret.setMsg("success");
        ret.setData("real data");

        return ret;
    }
}

spring-boot會(huì)自動(dòng)將對(duì)象類型的返回值轉(zhuǎn)換為json格式~~

  • 編寫spring boot啟動(dòng)類:
Application類的位置
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

這里需要注意的是啟動(dòng)類的位置: Application需要放在所有controller的根節(jié)點(diǎn)上叔壤,保證能夠正常訪問(wèn)我們定義的controller瞎饲,否則會(huì)出現(xiàn)一些異常比如controller無(wú)法訪問(wèn)

  • 運(yùn)行
    通過(guò)運(yùn)行Application類來(lái)啟動(dòng)應(yīng)用,有以下幾種方式:
    1炼绘、通過(guò)IDE運(yùn)行

運(yùn)行效果:

2企软、通過(guò)maven運(yùn)行:

mvn spring-boot:run

運(yùn)行效果:


可以通過(guò)ctrl+c關(guān)閉應(yīng)用

3、通過(guò)打包為可執(zhí)行的jar包運(yùn)行:

mvn package

直接通過(guò)命令執(zhí)行jar包即可啟動(dòng)應(yīng)用:

java -jar spring-boot-demo-1.0-SNAPSHOT.jar

有了以上幾個(gè)步驟饭望,應(yīng)用運(yùn)行起來(lái)后仗哨,通過(guò)頁(yè)面訪問(wèn):


這樣一個(gè)簡(jiǎn)單的RESTful應(yīng)用就搭起來(lái)了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末形庭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子厌漂,更是在濱河造成了極大的恐慌萨醒,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苇倡,死亡現(xiàn)場(chǎng)離奇詭異富纸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)旨椒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門晓褪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人综慎,你說(shuō)我怎么就攤上這事涣仿。” “怎么了示惊?”我有些...
    開(kāi)封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵好港,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我米罚,道長(zhǎng)钧汹,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任录择,我火速辦了婚禮拔莱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘隘竭。我一直安慰自己塘秦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布货裹。 她就那樣靜靜地躺著嗤形,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弧圆。 梳的紋絲不亂的頭發(fā)上赋兵,一...
    開(kāi)封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音搔预,去河邊找鬼霹期。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拯田,可吹牛的內(nèi)容都是我干的历造。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吭产!你這毒婦竟也來(lái)了侣监?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤臣淤,失蹤者是張志新(化名)和其女友劉穎橄霉,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體邑蒋,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡姓蜂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年毅厚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烂完。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缘眶,死狀恐怖卿堂,靈堂內(nèi)的尸體忽然破棺而出束莫,到底是詐尸還是另有隱情,我是刑警寧澤御吞,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布麦箍,位于F島的核電站漓藕,受9級(jí)特大地震影響陶珠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜享钞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一揍诽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧栗竖,春花似錦暑脆、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至份名,卻和暖如春碟联,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背僵腺。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工鲤孵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辰如。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓普监,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子凯正,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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