2016-05-27 58 views
6

如果我使用Spring工具套件或彈簧IDE Eclipse插件,我可以運行一個春天啓動的應用2種方式:Run As:Spring Boot App和Run As:Java Application有區別嗎?

Run As: 
    Spring Boot App 
    Java Application 

enter image description here

這些命令的工作和能火起來我的春天啓動應用程序沒有問題。不過,我想了解兩種不同流程的區別。他們之間實際上有區別還是他們的工作方式相同?

+2

[本文](https://spring.io/blog/2015/03/18/spring-boot-support-in-spring-tool-suite-3-6-4)解釋了這些差異。 –

+0

@robert harvey謝謝你的鏈接。你能重新發布這個鏈接,只是簡要的總結一下嗎?否則我解決不了問題 –

回答

3

有些差異,因爲有人已經暗示了評論。 This article解釋說,您在啓動配置編輯器中獲得了一些額外的「鈴聲和哨聲」。

第二個也許更重要的區別是,自Boot 1.3以來,Spring Boot App提供了一個JMX bean,它允許STS很好地關閉應用程序。當您從IDE終止應用程序時,例如通過單擊停止/重新啓動按鈕,STS使用此JMX bean來請求關閉引導應用程序。這是「Run As Boot App」啓動器中實現的一項功能,因此如果您使用「Run As Java App」,它不會生效。

Java啓動程序簡單地終止與使用Java的Process.destroy()方法啓動相關的進程。這是一種更具侵略性的殺死關聯進程的方法,可能不允許應用程序正確地清理內容,例如干淨地關閉數據庫連接。

所以......總之你兩件事情:

  1. 在推出的conf編輯
  2. 優美的進程終止的啓動1.3及更高一些額外的具體啓動UI。
相關問題