spring-boot的三種啟動(dòng)方式

有段時(shí)間沒有寫博客了,也在努力的從傳統(tǒng)單機(jī)開發(fā)向分布式系統(tǒng)過度,所以再次做一些筆記,以方便日后查看。

直接進(jìn)入正題吧,今天記錄spring-boot項(xiàng)目的三種啟動(dòng)方式。

spring-boot的啟動(dòng)方式主要有三種:

??? 1. 運(yùn)行帶有main方法類

??? 2. 通過命令行 java -jar 的方式

??? 3. 通過spring-boot-plugin的方式

一、執(zhí)行帶有main方法類

??? 這種方式很簡單,我主要是通過idea的方式,進(jìn)行執(zhí)行。這種方式在啟動(dòng)的時(shí)候,會(huì)去自動(dòng)加載classpath下的配置文件

??? (這里只是單獨(dú)的強(qiáng)調(diào)了classpath下,其實(shí)spring-boot有自己的加載路徑和優(yōu)先級(jí)的,日后在發(fā)布).

@RestController

@EnableAutoConfiguration

public class Example {

? ? @RequestMapping("/")

? ? public String home() {

? ? ? ? return "Hello World";

? ? }

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

? ? ? ? /**

? ? ? ? * SpringApplication會(huì)自動(dòng)加載application.properties文件,具體的加載路徑包含以下:

? ? ? ? * <p>

? ? ? ? *? ? 1. A <b>/config</b> subdirectory of the current directory;

? ? ? ? *? ? <p/>

? ? ? ? * <p>

? ? ? ? *? ? 2. The Current Directory

? ? ? ? * </p>

? ? ? ? * <p>

? ? ? ? *? ? 3. A classpath /config package

? ? ? ? * </p>

? ? ? ? * <p>

? ? ? ? *? ? 4. The classpath root.

? ? ? ? * </p>

? ? ? ? */

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

? ? }

}

在idea中,可以通過配置application的方式配置上自己請(qǐng)求參數(shù)


二、通過java -jar的方式

java -jar jar_path --param

jar_path: 指代將項(xiàng)目打包為jar打包之后的存儲(chǔ)路徑

--param: 為需要在命令行指定的參數(shù)。例如:

java -jar emample.jar --server.port=8081

該命令通過在啟動(dòng)行指定了項(xiàng)目啟動(dòng)后綁定的端口號(hào),因?yàn)樵撁钚袇?shù),將會(huì)覆蓋application.properties中的端口配置

三、通過spring-boot-plugin方式啟動(dòng)

如果需要正常使用該maven查件,需要我們?cè)趍aven項(xiàng)目中增加以下插件配置:

<plugin>

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

? ? ? ? ? ? ? ? <artifactId>spring-boot-maven-plugin</artifactId>

? ? ? ? ? ? ? ? <!--<version>${spring.boot.version}</version>-->

? ? ? ? ? ? ? ? <!--<executions>-->

? ? ? ? ? ? ? ? ? ? <!--<execution>-->

? ? ? ? ? ? ? ? ? ? ? ? <!--<goals>-->

? ? ? ? ? ? ? ? ? ? ? ? ? ? <!--<goal>repackage</goal>-->

? ? ? ? ? ? ? ? ? ? ? ? <!--</goals>-->

? ? ? ? ? ? ? ? ? ? <!--</execution>-->

? ? ? ? ? ? ? ? <!--</executions>-->

? ? ? ? ? ? </plugin>

注: 因?yàn)槲以陧?xiàng)目中指定了父模塊 spring-boot-starter-parent。因此我不需要單獨(dú)指定插件版本,該父模塊會(huì)自動(dòng)匹配與當(dāng)前spring-boot版本相匹配的查件版本。

<parent>

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

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

? ? ? ? <version>1.5.10.RELEASE</version>

? ? ? ? <!--<groupId>com.spring.sourcecode</groupId>-->

? ? ? ? <!--<artifactId>learn.spring</artifactId>-->

? ? ? ? <!--<version>1.0-SNAPSHOT</version>-->

? ? </parent>

準(zhǔn)備工作做好之后,我們需要進(jìn)入項(xiàng)目的根目錄,執(zhí)行

mvn sprint-boot:run

該命令能夠正常啟動(dòng)項(xiàng)目,但是如何為其指定執(zhí)行參數(shù)呢?

spring-boot:run該maven查件在插件首頁中指定了相關(guān)能夠使用的可選參數(shù):

通過查閱文檔,可以通過命令的方式查看具體選項(xiàng)的意義以及用法:

mvn spring-boot:help -Ddetail


其中arguments的描述中,大意為:指定的參數(shù)會(huì)傳遞給具體應(yīng)用,如果有多個(gè)參數(shù)需要指定,以","進(jìn)行分割。具體用法通過run.arguments來指定:

mvn spring-boot:run -Drun.arguments="--server.port=8888"

以上就是三種啟動(dòng)方式的描述,我也是第一次學(xué)習(xí),做一下筆記吧!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容