【無(wú)為則無(wú)心&SpringBoot】— 4.創(chuàng)建第一個(gè)Spring Boot項(xiàng)目

1、步驟

  • 創(chuàng)建一個(gè)Spring Boot的java項(xiàng)目白翻。

  • 導(dǎo)入依賴Spring Boot相關(guān)的依賴瓷式。

  • 編寫(xiě)一個(gè)java類,用于啟動(dòng)Spring Boot項(xiàng)目(helloword.java)责球。

  • 編寫(xiě)相關(guān)業(yè)務(wù)類(hellocontroller.java)焦履。

  • 運(yùn)行helloword.java中的main函數(shù),啟動(dòng)Spring Boot項(xiàng)目雏逾。

  • 通過(guò)瀏覽器訪問(wèn)Spring Boot項(xiàng)目嘉裤。

2、操作

(1)創(chuàng)建一個(gè)Spring Boot的java項(xiàng)目

具體可以看博客:http://www.reibang.com/p/9e9a2613e901栖博,不通過(guò)骨架創(chuàng)建Maven的Java項(xiàng)目屑宠。文章里已經(jīng)總結(jié)好。

(2)導(dǎo)入依賴Spring Boot相關(guān)的依賴

在項(xiàng)目中的pom.xml文件中仇让,添加下面內(nèi)容典奉,配置Spring Boot相關(guān)依賴。

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

(3)編寫(xiě)一個(gè)java類丧叽,用于啟動(dòng)Spring Boot項(xiàng)目

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 用來(lái)來(lái)標(biāo)注一個(gè)java的主程序類秋柄,
 * 說(shuō)明這是一個(gè)Spring Boot應(yīng)用。
 */
@SpringBootApplication
public class helloword {

    public static void main(String[] args) {

        // Spring應(yīng)用啟動(dòng)起來(lái)
        SpringApplication.run(helloword.class,args);
    }
    
}

(4)編寫(xiě)相關(guān)業(yè)務(wù)類

業(yè)務(wù)類就是需要我們寫(xiě)的Controller層蠢正、Service層骇笔。

我們這里只寫(xiě)一個(gè)Controller層,能夠返回一個(gè)數(shù)據(jù)就可以。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class hellocontroller {

    @ResponseBody
    @RequestMapping("/hello")
    public String hello() {
        return "Hello Spring Boot!";
    }
}

(5)運(yùn)行helloword.java中的main函數(shù)笨触,啟動(dòng)Spring Boot項(xiàng)目

我們不用在IDEA中配置tomcat服務(wù)器懦傍,只有就可以運(yùn)行main()函數(shù)。

可以看到控制臺(tái)結(jié)果如下芦劣,開(kāi)啟了一個(gè)8080端口的tomcat服務(wù)器粗俱。

(6)通過(guò)瀏覽器訪問(wèn)Spring Boot項(xiàng)目

在瀏覽器中輸入訪問(wèn)地址:localhost:8080/hello

可以看到輸出了Hello Spring Boot!,表示Spring Boot項(xiàng)目創(chuàng)建成功虚吟,并運(yùn)行起來(lái)寸认。

是不是非常的方便,我們根本不需要做過(guò)多的配置串慰,如SpringMVC的包掃描偏塞、視圖解析器、前端控制器等都不需要進(jìn)行配置了邦鲫。

(7)Spring Boot部署非常簡(jiǎn)化

在部署的時(shí)候Spring Boot項(xiàng)目部署起來(lái)也非常方便灸叼,如果我們所在的服務(wù)器中,沒(méi)有配置tomcat之類的Servlet容器庆捺。我們可以把Spring Boot項(xiàng)目打成一個(gè)可執(zhí)行的jar包古今。通過(guò)java -jar 包名.jar直接運(yùn)行Spring Boot項(xiàng)目。

  • 在Maven的pom.xml文件中配置打jar包插件滔以。

spring-boot-maven-plugin插件捉腥,在很大程度上簡(jiǎn)化了應(yīng)用的部署,只需要安裝了 JRE 就可以運(yùn)行你画。

<!-- 將應(yīng)用打包成一個(gè)可執(zhí)行的jar包但狭;-->

   <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.5.4.RELEASE</version>
            </plugin>
        </plugins>
    </build>
  • 執(zhí)行Maven的打包命令

在項(xiàng)目的target目錄就能找到打包好的項(xiàng)目spring-boot-01-helloword-1.0-SNAPSHOT.jar

  • 執(zhí)行java -jar命令啟動(dòng)項(xiàng)目

    我們可以把Spring Boot項(xiàng)目的jar包放到一個(gè)方便執(zhí)行的地方撬即,來(lái)執(zhí)行命令立磁。


  • 在瀏覽器中訪問(wèn)項(xiàng)目

可見(jiàn)Spring Boot中部署一個(gè)項(xiàng)目是非常的方便。

(8)關(guān)于spring-boot-maven-plugin插件的總結(jié)

spring-boot-maven-plugin插件介紹

Spring Boot Maven plugin能夠?qū)pring Boot應(yīng)用打包為可執(zhí)行的jar或war文件剥槐,然后以java -jar命令的方式運(yùn)行Spring Boot應(yīng)用唱歧。Spring Boot Maven plugin在2017.6.8發(fā)布的1.5.4.RELEASE版本,要求Java 8, Maven 3.2及以后粒竖。(需要配置阿里云Maven鏡像倉(cāng)庫(kù))

Spring Boot Maven plugin的5個(gè)Goals(目標(biāo))

  • spring-boot:repackage颅崩,默認(rèn)goal。在mvn package之后蕊苗,再次打包可執(zhí)行的jar/war沿后,同時(shí)保留mvn package生成的jar/war為.origin。
  • spring-boot:run朽砰,運(yùn)行Spring Boot應(yīng)用尖滚。
  • spring-boot:start喉刘,在mvn integration-test階段,進(jìn)行Spring Boot應(yīng)用生命周期的管理漆弄。
  • spring-boot:stop睦裳,在mvn integration-test階段,進(jìn)行Spring Boot應(yīng)用生命周期的管理撼唾。
  • spring-boot:build-info廉邑,生成Actuator使用的構(gòu)建信息文件build-info.properties。

關(guān)于Maven插件系列之spring-boot-maven-plugin的用法倒谷,可以網(wǎng)上自己搜索蛛蒙。

總結(jié):spring-boot-maven-plugin插件,是一個(gè)可以把Spring Boot項(xiàng)目打成一個(gè)可以使用java -jar命令執(zhí)行的jar包渤愁,Maven中的打包命令打成的jar不能直接運(yùn)行牵祟,需要放入Servlet容器中運(yùn)行。

(9)關(guān)于spring-boot-maven-plugin插件在使用過(guò)程中遇到的問(wèn)題

在Maven中配置spring-boot-maven-plugin插件的時(shí)候遇到的問(wèn)題就是猴伶,我們直接把上邊的spring-boot-maven-plugin插件坐標(biāo)復(fù)制到pom.xml中,不能直接下載塌西。

原因

  • 在Maven中他挎,plugin插件是有專屬的配置的,在沒(méi)有的配置的時(shí)候就去普通的倉(cāng)庫(kù)里面找捡需。

  • 我們平時(shí)使用的plugin办桨,都是maven官方的,然而這插件不是他家的站辉,對(duì)此阿里有一個(gè)倉(cāng)庫(kù)https://maven.aliyun.com/repository/spring-plugin可以下載呢撞。

  • 在項(xiàng)目代碼里面,如果加上以下這段配置饰剥,就可以正常打包部署了!

<pluginRepositories>
    <pluginRepository>
            <id>alimaven spring plugin</id>
            <name>alimaven spring plugin</name>
            <url>https://maven.aliyun.com/repository/spring-plugin</url>
    </pluginRepository>
</pluginRepositories>
  • 為了不讓每個(gè)項(xiàng)目都如此煩所的加上上面的配置殊霞,需要在Maven的settings.xml配置代碼如下:
<profiles>
     <profile>
      <id>spring plugins</id>

      <activation>
        <jdk>spring plugins</jdk>
      </activation>

      <pluginRepositories>
        <pluginRepository>
          <id>spring plugins</id>
          <name>Spring plugins</name>
          <url>https://maven.aliyun.com/repository/spring-plugin</url>
          <layout>default</layout>
          <snapshotPolicy>always</snapshotPolicy>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

或者簡(jiǎn)單一點(diǎn),直接配置阿里云的Maven鏡像倉(cāng)庫(kù)汰蓉。

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
 </mirror>

參考:https://blog.csdn.net/MVP_PhoeNix/article/details/84925399
第九點(diǎn)是記錄一下绷蹲,以后出現(xiàn)問(wèn)題可以做個(gè)參考。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末顾孽,一起剝皮案震驚了整個(gè)濱河市祝钢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌若厚,老刑警劉巖拦英,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異测秸,居然都是意外死亡疤估,警方通過(guò)查閱死者的電腦和手機(jī)灾常,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)做裙,“玉大人岗憋,你說(shuō)我怎么就攤上這事∶” “怎么了仔戈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)拧廊。 經(jīng)常有香客問(wèn)我监徘,道長(zhǎng),這世上最難降的妖魔是什么吧碾? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任凰盔,我火速辦了婚禮,結(jié)果婚禮上倦春,老公的妹妹穿的比我還像新娘户敬。我一直安慰自己,他們只是感情好睁本,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布尿庐。 她就那樣靜靜地躺著,像睡著了一般呢堰。 火紅的嫁衣襯著肌膚如雪抄瑟。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天枉疼,我揣著相機(jī)與錄音皮假,去河邊找鬼。 笑死骂维,一個(gè)胖子當(dāng)著我的面吹牛惹资,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播航闺,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼布轿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了来颤?” 一聲冷哼從身側(cè)響起汰扭,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎福铅,沒(méi)想到半個(gè)月后萝毛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滑黔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年笆包,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了环揽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡庵佣,死狀恐怖歉胶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情巴粪,我是刑警寧澤通今,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站肛根,受9級(jí)特大地震影響辫塌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜派哲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一臼氨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧芭届,春花似錦储矩、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至树叽,卻和暖如春舆蝴,著一層夾襖步出監(jiān)牢的瞬間谦絮,已是汗流浹背题诵。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留层皱,地道東北人性锭。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像叫胖,于是被迫代替她去往敵國(guó)和親草冈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351