1. 程式人生 > >多個SpingBoot專案的搭建與部署

多個SpingBoot專案的搭建與部署

最近幾年SpringBoot大熱,很多IT公司都開始採用SpringBoot來替換傳統的SpringMVC專案。那麼如何搭建一個適合開發的專案架構呢?

這裡我主要介紹Java程式設計師使用最多的兩種工具進行搭建:1、MyEclipse;2、ideal

MyEclipse

第一步:開啟MyEclipse,選擇File—>New—>Other,搜尋maven,點選next

 

第二步、選擇‘Create a simple project(skip archetype selection)’,點選next

第三步、填入‘Group Id’和‘Artifact Id’,注意這邊的‘Packaging’需要選擇pom,不能選擇jar或者war,然後點選Finish

這樣就建好了一個SpringBoot專案的管理中心,展開如下圖:

第四步、多個SpringBoot專案之間可能會有一些公用的部分,比如User這個實體類,所以要建立一個api專案為其他SpringBoot專案提供公用的類和方法

建立api專案如下:

選中cloud專案,右鍵點選開啟選單,選擇new—>other,搜尋module(注意這裡不是maven),點選next

跟上面建立cloud專案一樣,給該服務取名為cloud-api,點選Finish

這樣就建立好了cloud-api服務了,專案結構如下

第五步、依照上面建立cloud-api專案的方式,建立cloud-base-4000(基礎服務模組,4000指代當前服務對外的埠號,後面4001同理),cloud-operation-4001(運維管理模組)

專案結構如下:

這樣多個SpringBoot專案都在cloud這個專案下管理了,接下來要api服務被base服務與operation服務共享

第六步、在cloud-api中新建被其他服務共享的類User,專案結構如下圖:

這時在base服務呼叫api的User類會報錯並且無法匯入User類,如下圖(解決辦法請看第七步):

第七步、開啟base的pom.xml,在裡面加入api服務的依賴

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.wlovet</groupId> <artifactId>cloud</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>cloud-base-4000</artifactId> <build/> <dependencies> <dependency><!-- 自己定義的api --> <groupId>com.wlovet</groupId> <artifactId>cloud-api</artifactId> <version>${project.version}</version> </dependency> </dependencies> </project>

這時base服務中Hello類就不會報錯了,如下圖:

同樣,在operation服務也加入api的依賴,那麼在operation服務也可以使用api中所有的類了

第八步、如何將這些module打包成一個個執行的jar包,在base服務的Hello類建立一個main方法,加入如下程式碼:

User user = new User();
user.setName("為止");
user.setGender("男");
System.out.println(user);

在pom.xml中加入如下配置:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>1.2.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.wlovet.Hello</mainClass><!-- 此處改為自己的類路徑 -->
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

點選base服務的pom檔案,右鍵—>Run As—>Maven Install,可以專案路徑下的target資料夾中找到打包好的jar包

拿到cmd中執行