spring-boot的啟動方式主要有三種:
1. 運行帶有main方法類
2. 通過命令行 java -jar 的方式
3. 通過spring-boot-plugin的方式
一、執行帶有main方法類
這種方式很簡單,我主要是通過idea的方式,進行執行。這種方式在啟動的時候,會去自動加載classpath下的配置文件
(這里只是單獨的強調了classpath下,其實spring-boot有自己的加載路徑和優先級的,日后在發布).
@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的方式配置上自己請求參數
二、通過java -jar的方式
java -jar jar_path --param
jar_path: 指代將項目打包為jar打包之后的存儲路徑
--param: 為需要在命令行指定的參數。例如:
java -jar emample.jar --server.port=8081
該命令通過在啟動行指定了項目啟動后綁定的端口號,因為該命令行參數,將會覆蓋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。因此我不需要單獨指定插件版本,該父模塊會自動匹配與當前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>
准備工作做好之后,我們需要進入項目的根目錄,執行
mvn sprint-boot:run
該命令能夠正常啟動項目,但是如何為其指定執行參數呢?
spring-boot:run該maven查件在插件首頁中指定了相關能夠使用的可選參數:
通過查閱文檔,可以通過命令的方式查看具體選項的意義以及用法:
mvn spring-boot:help -Ddetail
其中arguments的描述中,大意為:指定的參數會傳遞給具體應用,如果有多個參數需要指定,以","進行分割。具體用法通過run.arguments來指定:
mvn spring-boot:run -Drun.arguments="--server.port=8888"
以上就是三種啟動方式的描述
————————————————
版權聲明:本文為CSDN博主「專注着」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u011425751/article/details/79507386