在我看來,SpringBoot項目需要很長時間才能加載。這可能是因爲SpringBoot爲您配置了組件,其中一些甚至可能不需要。 最明顯的做法是從您的課程路徑中刪除不必要的依賴關係。但是,這還不夠。最小化Spring引導啓動時間
有什麼方法可以找出SpringBoot爲您配置哪些模塊來挑選不需要的東西並禁用它們?
還有什麼可以加快SpringBoot應用程序的啓動時間嗎?
在我看來,SpringBoot項目需要很長時間才能加載。這可能是因爲SpringBoot爲您配置了組件,其中一些甚至可能不需要。 最明顯的做法是從您的課程路徑中刪除不必要的依賴關係。但是,這還不夠。最小化Spring引導啓動時間
有什麼方法可以找出SpringBoot爲您配置哪些模塊來挑選不需要的東西並禁用它們?
還有什麼可以加快SpringBoot應用程序的啓動時間嗎?
我可以告訴你,我通過Spring MVC,JMS,Atomikos事務,Hibernate,JMX支持和嵌入式Tomcat,運行了大量(800,000多行代碼)應用程序,使用了寧靜的Web服務。所有這一切,應用程序將在大約19秒內在本地桌面上啓動。
Spring Boot盡力不配置您未使用的模塊。但是,引入您不想要的其他依賴關係和配置很容易。
請記住,Spring Boot遵循約定而不是配置範例,只需將類庫放在類路徑中就可以導致Spring Boot嘗試配置模塊以使用該庫。而且,通過使用@RestController註釋你的類這樣簡單的事情將會觸發Spring Boot來自動配置整個Spring MVC堆棧。
您可以看到底下發生了什麼,並啓用調試日誌記錄,就像從命令行啓動應用程序時指定--debug
一樣簡單。你也可以在application.properties中指定debug = true。
此外,您可以設置日誌記錄級別的application.properties
簡單:
如果你發現你不想自動配置模塊,可以將其禁用。造成這種情況的文檔可以在這裏找到:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#using-boot-disabling-specific-auto-configuration
一個例子看起來像:
@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}