【160期】面試官:你能說出Springboot項(xiàng)目啟動(dòng)的幾種方式嗎?
spring-boot的啟動(dòng)方式主要有三種:
運(yùn)行帶有main方法類 通過命令行 java -jar 的方式 通過spring-boot-plugin的方式
一、執(zhí)行帶有main方法類
這種方式很簡(jiǎn)單,我主要是通過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);
}
}

二、通過java -jar的方式
java -jar jar_path --param
java -jar emample.jar --server.port=8081
三、通過spring-boot-plugin方式啟動(dò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>
<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 spring-boot:run
mvn spring-boot:help -Ddetail

mvn spring-boot:run -Drun.arguments="--server.port=8888"
推薦閱讀:
【159期】面試官:你來說說Redis兩種持久化方式的優(yōu)缺點(diǎn)
【158期】三天兩夜肝完這篇萬字長(zhǎng)文,看完它,面試再也不用怕被問到 TCP/IP 了
【157期】面試官:來談?wù)凷QL中的in與not in、exists與not exists的區(qū)別
微信掃描二維碼,關(guān)注我的公眾號(hào)
朕已閱 

