Spring boot2 項目相關 IDEA Maven父子項目操作 Maven 父子項目

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定位到包目錄,執行如下代碼:

 部署訪問成功.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章