1、首先通過Idea創建一個Maven項目,參考IDEA Maven父子項目操作(不是微服務架構,所以參考子項目的創建即可).
2、修改pom.xml 導入spring boot2相關的依賴
(1)、引入spring boot2框架
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent>
https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.pom
(2)、引入web開發場景啓動器 spring-boot-starter-web
注:spring boot提供了若干場景啓動器,命名規則spring-boot-starter-*,類似abp的組合模塊,方便快速開發
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
這裏通過idea點擊進入該場景啓動器,可以看到如下依賴
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-json</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.2.9.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.9.RELEASE</version> <scope>compile</scope> </dependency> </dependencies>
引入了web開發相關的依賴如tomcat等
https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.dependencies
3、依賴管理
根據2中通過xml引入的spring-boot父項目,如下xml
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent>
通過idea點擊父項目信息
可以看到父項目依然有父項目,繼續點擊查看.
可以看到properties節點下面定義了很多Maven自定義屬性,這個屬性就是控制spring-boot引入的工具包的版本,如下:
這其實就是maven父子項目依賴管理的方式,參考Maven 父子項目
4、子項目修改Spring boot項目引用的默認組件依賴版本.
因爲通過pom引入spring boot2,spring boot2會引入框架默認依賴的所有組件,方便開發,也是約定大於配置的一種體現,但是有些特殊業務需求,某個模塊需要升級某一個組件的版本,這裏拿junit組件舉例,spring boot2默認引用
如果項目中需要junit,其pom.xml如下:
那麼項目默認會使用spring boot2中的junit版本
參考父子項目,如果此時需要在項目中使用自定義的junit版本不使用spring boot2給定的版本,可以使用如下兩種方式:
(1)、修改pom.xml如下:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
(2)、改寫pom.xml的自定義屬性
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>4.11</junit.version> </properties>
5、編寫Application啓動類,類似abp的啓動類
package com.company.springboo2learn; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
@SpringBootApplication 註解代表這是一個Spring boot應用
6、編寫Restful 控制器和netcore mvc類似
@RestController public class HelloController { @RequestMapping("/hello") public String home() { return "hello spring boot2!"; } }
7、啓動應用
找到3中的啓動類
運行即可.
運行訪問均成功.
8、創建可執行的jar包並部署 類似netcore的單文件部署
Spring boot提供了fat jar的概念,打包了tomcat和相關運行時方便快速發佈,修改pom.xml新增如下節點
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
https://docs.spring.io/spring-boot/docs/2.7.12/reference/html/getting-started.html#getting-started.first-application.executable-jar
操作idea或者命令行執行mvn clean packeage執行打包操作
打包成功會在target目錄(類似netcore項目的bin)生成一個jar包,cmd定位到包目錄,執行如下代碼:
部署訪問成功.