<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          項(xiàng)目上線的“最后一公里”——部署與監(jiān)控

          共 2099字,需瀏覽 5分鐘

           ·

          2023-08-10 02:16

          恭喜你!掌握了前面章節(jié)講解的知識(shí),你已經(jīng)具備了獨(dú)立開(kāi)發(fā)一個(gè)中小型系統(tǒng)的能力。但是先不要著急,我們還差最后一步,才能讓開(kāi)發(fā)的應(yīng)用投入使用,那就是部署。

          在Spring Boot出現(xiàn)之前,部署通常會(huì)先將打好的War包放到Tomcat(或其他Web容器)的Webapps目錄下,然后啟動(dòng)Tomcat。你可能還記得在本書第3章中,我們選擇的打包方式是Jar而不是War。那么,Jar格式的工程如何啟動(dòng)呢?接下來(lái)我們就來(lái)揭開(kāi)謎底,并對(duì)比War和Jar的異同點(diǎn)。

          部署

          Spring Boot推薦我們使用Jar的方式打包和運(yùn)行工程(也是默認(rèn)方式)。

          通過(guò)這段時(shí)間對(duì)Spring Boot的了解,我們已經(jīng)發(fā)現(xiàn)了一個(gè)規(guī)律——采用Spring Boot推薦的方式(約定優(yōu)于配置)通常都非常簡(jiǎn)單(基本上不需要做額外的工作)。當(dāng)然,Spring Boot也會(huì)給我們自定義的自由,只需要做一些額外的配置即可。

          Jar

          在采用Jar的方式打包應(yīng)用時(shí),我們不需要做任何額外的工作,只需要按部就班地使用Maven打包即可。執(zhí)行完打包命令,target目錄下就會(huì)生成一個(gè)Jar文件,如hello-0.0.1-SNAPSHOT.jar,然后使用java-jar命令啟動(dòng)即可。打開(kāi)系統(tǒng)命令行工具,將路徑切換到Jar文件所在的目錄:

          接下來(lái)就可以看到熟悉的啟動(dòng)日志了,并且待應(yīng)用啟動(dòng)完成后,就可以訪問(wèn)我們寫的接口了,很簡(jiǎn)單。

          War

          Spring Boot之所以令人喜愛(ài),是因?yàn)樗藶槲覀冏隽撕芏嘧詣?dòng)配置,還能夠讓我們非常方便地使用自定義配置。

          下面我們就通過(guò)自定義配置,將Spring Boot工程以傳統(tǒng)的War方式進(jìn)行打包。只需要修改項(xiàng)目主類(SpringbootApplication)和pom文件即可。

          修改項(xiàng)目主類

          接下來(lái)使用Maven打包,并在打包完成后將War文件復(fù)制到Tomcat的Webapps目錄下,最后運(yùn)行startup腳本(Tomcat的啟動(dòng)腳本在bin目錄下)。

          DevTools

          DevTools是Spring Boot 1.3引入的一組開(kāi)發(fā)者工具,目的是提高開(kāi)發(fā)效率。其中一個(gè)很重要的功能是,在代碼被修改后會(huì)自動(dòng)重啟應(yīng)用。就這樣?比自己手動(dòng)重啟也強(qiáng)不了多少呀!如果只是將原來(lái)的手動(dòng)重啟變成了自動(dòng)重啟,那真的沒(méi)什么。

          自動(dòng)重啟優(yōu)勢(shì)所在

          為了提升重啟的速度,Spring Boot將資源分成了兩類:一類是不變對(duì)象(如項(xiàng)目依賴的Jar包);另一類是可變對(duì)象(如應(yīng)用中的類或資源文件)。

          基礎(chǔ)類加載器用來(lái)加載不變對(duì)象;重啟類加載器用來(lái)加載可變對(duì)象。

          那么,在重啟時(shí)就可以只加載可變對(duì)象了。這樣一來(lái),啟動(dòng)速度勢(shì)必會(huì)比加載所有資源的方式更快。理論上講,項(xiàng)目依賴的第三方資源越多(項(xiàng)目越大),這種機(jī)制的優(yōu)勢(shì)就越明顯。

          添加依賴

          引入DevTools依賴:

          設(shè)置IDE

          要想使用Spring Boot的自動(dòng)重啟功能,需要對(duì)IDE進(jìn)行一些設(shè)置。以Intellij IDEA為例,我們需要開(kāi)啟自動(dòng)構(gòu)建和自動(dòng)編譯。

          開(kāi)啟自動(dòng)構(gòu)建

          選 擇 file→Settings 菜 單 命 令 ( 在 Mac 系 統(tǒng) 中 : 選 擇 IntellijIDEA→Preferences菜單命令),打開(kāi)Settings對(duì)話框,選擇Compiler選項(xiàng),并勾選Build project automatically復(fù)選框,開(kāi)啟自動(dòng)構(gòu)建,如圖14-1所示。

          408打開(kāi)Settings對(duì)話框的快捷鍵如下。

          · Windows系統(tǒng):Ctrl+Alt+S

          · Mac系統(tǒng):Command+,

          Build project automatically 復(fù) 選 框 后 面 有 一 行 小 字 : only workswhile not running/debugging。勾選該復(fù)選框后,系統(tǒng)告訴我只能在非運(yùn)行(調(diào)試)狀態(tài)下起作用。Intellij IDEA,你是在逗我嗎?我要的是在運(yùn)行時(shí)起作用呀!所以,我們還需要做一個(gè)設(shè)置。

          開(kāi)啟自動(dòng)編譯

          409選擇Help→Find Action→Registry菜單命令,查找設(shè)置項(xiàng),如圖14-2所示。

          快捷鍵如下。

          · Windows系統(tǒng):Ctrl+Alt+Shift+/

          · Mac系統(tǒng):Command+Option+Shift+/

          勾選compiler.automake.allow.when.app.running復(fù)選框,如圖14-3所示。

          可以看到,這個(gè)選項(xiàng)允許應(yīng)用在運(yùn)行時(shí)進(jìn)行自動(dòng)編譯。

          經(jīng)過(guò)以上步驟,在修改完類或application.yml文件后,應(yīng)用就可以自動(dòng)重啟了。

          自定義規(guī)則

          如果你想要定制自動(dòng)重啟功能,可以通過(guò)以下配置項(xiàng)來(lái)實(shí)現(xiàn):

          本文就是愿天堂沒(méi)有BUG給大家分享的內(nèi)容,大家有收獲的話可以分享下,想學(xué)習(xí)更多的話可以到微信公眾號(hào)里找我,我等你哦。


          瀏覽 68
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  蜜桃臀久久久蜜桃臀久久 | 玖玖成人免费 | 无码日日爽天天干 | 日韩三级片一二三区 | 成人导航网站 |