淺談springboot的三種啟動方式
有段時間沒有寫博客了,也在努力的從傳統(tǒng)單機(jī)開發(fā)向分布式系統(tǒng)過度,所以再次做一些筆記,以方便日后查看。
直接進(jìn)入正題吧,今天記錄spring-boot項目的三種啟動方式。
spring-boot的啟動方式主要有三種:
1. 運行帶有main方法類
2. 通過命令行 java -jar 的方式
3. 通過spring-boot-plugin的方式
一、執(zhí)行帶有main方法類
這種方式很簡單,我主要是通過idea的方式,進(jìn)行執(zhí)行。這種方式在啟動的時候,會去自動加載classpath下的配置文件
(這里只是單獨的強調(diào)了classpath下,其實spring-boot有自己的加載路徑和優(yōu)先級的,日后在發(fā)布).
@RestController @EnableAutoConfiguration public class Example { @RequestMapping("/") public String home() { return "Hello World"; } public static void main(String[] args) { /** * SpringApplication會自動加載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的方式配置上自己請求參數(shù)
二、通過java -jar的方式
java -jar jar_path --param
jar_path: 指代將項目打包為jar打包之后的存儲路徑
--param: 為需要在命令行指定的參數(shù)。例如:
java -jar emample.jar --server.port=8081
該命令通過在啟動行指定了項目啟動后綁定的端口號,因為該命令行參數(shù),將會覆蓋application.properties中的端口配置
三、通過spring-boot-plugin方式啟動
如果需要正常使用該maven查件,需要我們在maven項目中增加以下插件配置:
<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>
注: 因為我在項目中指定了父模塊 spring-boot-starter-parent。因此我不需要單獨指定插件版本,該父模塊會自動匹配與當(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)入項目的根目錄,執(zhí)行
mvn sprint-boot:run
該命令能夠正常啟動項目,但是如何為其指定執(zhí)行參數(shù)呢?
spring-boot:run該maven查件在插件首頁中指定了相關(guān)能夠使用的可選參數(shù):
通過查閱文檔,可以通過命令的方式查看具體選項的意義以及用法:
mvn spring-boot:help -Ddetail
其中arguments的描述中,大意為:指定的參數(shù)會傳遞給具體應(yīng)用,如果有多個參數(shù)需要指定,以","進(jìn)行分割。具體用法通過run.arguments來指定:
mvn spring-boot:run -Drun.arguments="--server.port=8888"
以上就是三種啟動方式的描述,我也是第一次學(xué)習(xí),做一下筆記吧!也希望大家多多支持腳本之家。
相關(guān)文章
Java自帶定時任務(wù)ScheduledThreadPoolExecutor實現(xiàn)定時器和延時加載功能
今天小編就為大家分享一篇關(guān)于Java自帶定時任務(wù)ScheduledThreadPoolExecutor實現(xiàn)定時器和延時加載功能,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Activiti7與Spring以及Spring Boot整合開發(fā)
這篇文章主要介紹了Activiti7與Spring以及Spring Boot整合開發(fā),在Activiti中核心類的是ProcessEngine流程引擎,與Spring整合就是讓Spring來管理ProcessEngine,有感興趣的同學(xué)可以參考閱讀2023-03-03Java日常練習(xí)題,每天進(jìn)步一點點(55)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你2021-08-08