我正在使用Spring Boot開發一個簡單的命令行應用程序。我需要它使用Spring的RestTemplate
與一些REST API進行交互。我應該引用作爲依賴項spring-boot-starter-web
或spring-web
?這些類路徑中的任何一個的存在是否會改變Spring Boot應用程序的行爲,這應該是一個簡單的命令行應用程序?哪個Spring模塊應該用於命令行使用RestTemplate的Spring Boot應用程序?
回答
我會堅持https://spring.io/guides/gs/consuming-rest/的做法。
如果您不想創建Web服務器,請不要使用-starter-web
。 使用普通-starter
具有「裸露」引導應用程序並添加spring-web
以訪問RestTemplate
。
因此,澄清,只是'春天網絡'的存在不會改變「香草」春季啓動應用程序到Web應用程序(與嵌入式服務器等)的行爲? –
在問這個問題之前,我實際上正在檢查那個教程。我錯誤'spring-boot-starter'作爲'spring-boot-starter-web',因爲'spring-web'追隨它。 –
@PsychoPunch yep,'-starter-web'還爲實際服務器添加了諸如'spring-boot-starter-tomcat'之類的附加依賴項。引導的自動配置部分(它是'spring-boot-autoconfigure'的一部分,初學者不包含代碼)應該足夠聰明,可以檢測到你沒有創建Web應用程序。儘管'spring-web'的存在似乎被用於檢測。例如。在https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnWebApplicationCondition.java – zapl
- 1. 多模塊Spring Boot應用程序
- 2. 哪一個應該用在spring boot,spring BOM和spring IO之間?
- 3. RestTemplate或discoveryClient - 在Spring Cloud應用程序中使用哪一個?
- 4. 從命令行運行Spring Boot應用程序時出錯
- 5. Apache使用ajp用於Spring Boot應用程序的Tomcat
- 6. 使用spring-boot時是否可以使用spring-boot命令行屬性:運行?
- 7. 在WebSocketConfigurer中使用@PathParam(javax.websocket.server.PathParam)用於Spring Boot應用程序
- 8. Spring數據JPA使用Spring Boot應用程序問題
- 9. 使用Spring Boot構建Spring MVC應用程序
- 10. Spring-cloud-stream應用程序是否可以使用spring-boot?
- 11. Spring Boot應用程序中的SymmetricDS
- 12. 使用CookieLocaleResolver進行Spring Boot應用程序的錯誤頁面
- 13. Spring Boot應用程序:將應用程序分成獨立的任務從命令行運行?
- 14. 模塊化Spring MVC應用程序
- 15. 在Spring-Boot應用程序中使用application.yaml配置hystrix命令屬性
- 16. Spring Boot web應用程序未啓動
- 17. Spring Boot JNDI應用程序設置
- 18. Spring Boot應用程序。 SecurityContextHolder與HttpSession
- 19. Spring-Boot應用程序啓動失敗
- 20. 測試Spring Boot應用程序?
- 21. Spring Boot應用程序日誌級別
- 22. 使用spring-boot的Maven模塊
- 23. 使用SoapUITestCaseRunner啓動一個Spring Boot應用程序?
- 24. 在spring boot vaadin應用程序中使用多個主題
- 25. Spring Boot應用程序只應該在執行器的端口上收聽
- 26. 集成Spring Boot和現有的Spring應用程序
- 27. 使用純Spring的模塊化Web應用程序?
- 28. 在Spring Boot中使用@ConfigurationProperties應用程序不起作用
- 29. 使用Spring Security保護Spring Boot Web應用程序不起作用
- 30. 基於Spring Boot的應用程序中的死信路由
你也可以做。添加啓動器並排除tomcat部分可能是最簡單的。 –