本專欄是對SpringBoot最新版本的官方文檔翻譯和整理,不會對著官方文檔生硬翻譯,只寫了筆者認為值得記得,更多基礎信息,敬請讀者參考SpringBoot的英文版文檔
3.3Upgrading from an Earlier Version of Spring Boot
SpringBoot升級的時候,一些屬性可能會被重命名或者刪除。SpingBoot提供了一個方法,在應用程序啟動的時候可以分析應用程序的環(huán)境和打印診斷信息,還可以在運行的時候臨時遷移屬性。通過添加依賴來啟用功能:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-properties-migrator</artifactId>
<scope>runtime</scope>
</dependency>
注意:晚添加到環(huán)境中的屬性,例如使用@PropertySource時,將不被考慮。完成遷移后,請確保從項目的依賴項中刪除此模塊。
4.Developing Your First Spring Boot Application
4.1. Creating the POM
我們首先要創(chuàng)建一個maven POM文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
</parent>
<description/>
<developers>
<developer/>
</developers>
<licenses>
<license/>
</licenses>
<scm>
<url/>
</scm>
<url/>
<!-- Additional lines to be added here... -->
</project>
4.2. Adding Classpath Dependencies
SpringBoot提供了一系列的啟動器,可以添加jar包到你的類路徑,我們冒煙測試的程序,在POM文件的父部分使用spring-boot-starter-parent。它是一個特殊的啟動器,提供一些很有用的Maven默認設置。也提供了using-boot-dependency-management,所以你可以省略版本標簽。
你開發(fā)不同的應用程序,可以選擇使用不同的"starters",比如我們要開發(fā)一個Web程序,我們可以使用spring-boot-starter-web。我們可以通過如下命令,查看當前項目的依賴樹:
[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT
4.3.1. The @RestController and @RequestMapping Annotations
@RequestMapping提供了路由信息。它告訴Spring任何的Http請求,應該被映射到相應的路徑。
@RestController 告訴Spring直接給調(diào)用者返回字符串
@RequestMapping和@RestController都是SpringMVC的注解,更多詳情請查看SpringMVC官方文檔。MVC section
4.3.2. The @EnableAutoConfiguration Annotation
這個注解告訴SpringBoot基于jar包依賴去預測你想怎么配置Spring,SpringBoot已經(jīng)添加了Tomcat和SpringMVC依賴,自動配置程序假定你開發(fā)的是Web應用程序。
4.4. Running the Example
在你項目的目錄下使用mvn:spring-boot:run命令啟動你的項目。
4.5. Creating an Executable Jar
我們可以創(chuàng)建一個可執(zhí)行的jar包,來運行我們的應用程序。它包含了所有編譯過的class文件和項目中所使用到的所有依賴。
為了創(chuàng)建jar包,我們需要在pom文件中添加spring-boot-maven-plugin依賴。像這樣:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
保存POM文件,執(zhí)行mvn:package命令,你可以在target目錄下看到多出來的一個jar包:myproject-0.0.1-SNAPSHOT.jar大約有10M。如果你想看里面的內(nèi)容,你可以執(zhí)行 jar tvf:
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
你應該也能看到一個original文件:myproject-0.0.1-SNAPSHOT.jar.original在target目錄。這是maven在重新被SpringBoot打包之前創(chuàng)建的源文件。
如果要通過jar包啟動項目的話,可以執(zhí)行java -jar命令:
$ java -jar target/myproject-0.0.1-SNAPSHOT.jar