簡體   English   中英

從另一個項目調用spring @service

[英]Call a spring @service from another project

我一直在研究Spring MVC 4,並且我了解到Spring有幾個注釋可以使開發更快。 這個問題和答案很好地解釋了@ Component,@ Service,@ Repository和@Controller之間的關系。 我的問題是:

  1. 可以從另一台機器上將@service類作為通用的wsdl服務調用嗎? 例如,從作為該服務客戶端的獨立應用程序。

  2. 還是@service注釋僅僅是為了標記類的使用?

謝謝

使用@Service注釋的類中的方法不能從外部調用,但通常的做法是在您使用@Service注釋類(通常稱為服務層)的層的頂部添加通常稱為facade的另一個層。 使用此Facade,您可以通過REST,SOAP等不同方式公開您的服務。

注釋@Service只是@Component注釋的特殊版本,其目的不是提供對實現的遠程訪問。

如文檔中所述,@ Service注釋有助於在類路徑掃描期間自動檢測類(請參閱JavaDoc )並由某些工具處理。 另請查看Spring論壇上的說明。

我不認為可以通過使用@service來調用它,而您需要使用@Webservice對該類進行注釋以將其暴露給外界

不要將javax @WebService此處定義的Spring @Service混淆。 雖然兩者都稱為服務 @Service的目的很簡單:

此注釋用作@Component的特化,允許通過類路徑掃描自動檢測實現類。

因此,由於@WebService用於WSDL (外部訪問),因此@Service用於Spring的內部使用。 如果要從其他計算機訪問“服務”,則必須編寫@WebService或使用帶有SpringMVC @RequestMapping

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM