2016-12-22 314 views
3

我有一個彈簧引導應用程序A,它是一個用於執行一些CRUD操作的彈簧數據服務。現在我想將這個A作爲依賴項添加到另一個Spring引導應用程序B中,這個應用程序只是一個休息服務,用於訪問A的各種方法。當我這樣做並啓動了B的Application類時,我看到應用程序A正在運行並且所有配置都是完成並停止。我想要實現的是應用程序B應該在8080上運行一個tomcat,以便我可以訪問應用程序B的CRUD方法。有人可以幫我實現嗎?將彈簧引導應用程序添加爲另一個彈簧引導應用程序的依賴關係

在寫這個問題之前,我沒有搜索所有相關主題的論壇,但找不到解決方案。

+0

你使用gradle還是maven? –

+0

我正在使用gradle – lsiva

回答

1

我有一個彈簧啓動應用程序A,它是一個彈簧數據服務 做一些CRUD操作。現在,我想這方面的一個作爲依賴添加到 又一個春天啓動應用程序B這僅僅是一個休息的服務,A的 接入各種方法

根據上述需求,我不知道你需要有兩個Spring Boot應用程序。
有兩個不同的Spring Boot基於Web的應用程序假定這兩個應用程序需要物理分離。這種分離是有成本的,因爲你必須設法讓應用程序在它們之間進行通信:webservice,jms,rmi,jms等......並且你必須開發和維護兩個Spring Boot應用程序,但是你說

春季啓動應用程序B這僅僅是一個休息服務訪問 的

各種方法,如果你想從B,爲什麼有兩個休息服務調用A庫方法,一條筆直的路不同的應用程序並使其更復雜?
與多個模塊單個彈簧引導應用可以是更合適的和維護的解決方案:

- parent-my-app (super and parent project) 
| 
|----> repository-my-app module 
|  
| 
|----> rest-my-app module  
        |----> dependency on repository-my-app module 

最後,通過兩個應用強烈的去耦兩個層之間的通信具有成本和太具有兩個彈簧引導應用的應對。
所以,如果你不需要它,你應該避免。

+0

這對我來說很有意義,根據你提到的項目結構,你可以指點我一些例子如何創建這個父模塊和子模塊? – lsiva

+0

我們試圖這樣做的另一個原因是,我們希望應用程序A被許多其他團隊使用。不知道這是否可以按照你提到的方式實現。 – lsiva

+0

本頁非常瞭解如何使用Gradle執行此操作:https://docs.gradle.org/current/userguide/intro_multi_project_builds.html#sec:structure_of_a_multiproject_build。它用Gradle解釋了多項目的基礎。此外,在Gradle文件夾中,查看samples/userguide文件夾,您有多個示例。 – davidxxx

0

您在尋找gradle中的multiproject版式。

你要添加的文件settings.gradle在您的主項目,並在裏面可以添加您的子項目:

include 'api', 'shared' 

腳本build.gradle子項目是可選的。

相關問題