Speed up Spring Boot Startzeit

Ich habe eine Spring Boot-Anwendung. Ich habe eine Menge Abhängigkeiten hinzugefügt (leider sehe ich so aus, als ob ich alle brauche) und die Startzeit ist ziemlich hoch geworden. Mach einfach einSpringApplication.run(source, args) dauert 10 Sekunden.

Während das vielleicht nicht viel ist im Vergleich zu dem, was "gewohnt" ist, bin ich unglücklich, dass es so viel braucht, hauptsächlich, weil es den Entwicklungsfluss unterbricht. Die Anwendung selbst ist zu diesem Zeitpunkt ziemlich klein, daher gehe ich davon aus, dass die meiste Zeit mit den hinzugefügten Abhängigkeiten zusammenhängt, nicht mit den App-Klassen selbst.

Ich gehe davon aus, dass das Problem das Scannen von Klassenpfaden ist, aber ich bin nicht sicher, wie ich vorgehen soll:

Bestätigen Sie, dass dies das Problem ist (d. H. Wie Spring Boot "debuggt")Wenn es wirklich die Ursache ist, wie kann ich sie einschränken, damit sie schneller wird? Wenn ich zum Beispiel weiß, dass einige Abhängigkeiten oder Pakete nichts enthalten, was Spring scannen sollte, gibt es eine Möglichkeit, dies einzuschränken?

Ich nehme das an:

https: //jira.spring.io/browse/SPR-876

würde die Dinge beschleunigen, aber es ist an dieser Stelle noch nicht einmal ausprobiert. Ich sehe einige andere Bemühungen in Spring Boot selbst,

https: //github.com/spring-projects/spring-boot/issues/161

Aber das sieht Tomcat-spezifisch aus.

Dieser Artikel

http: //www.nurkiewicz.com/2010/12/speeding-up-spring-integration-tests.htm

Obwohl auf Integrationstests ausgerichtet, empfiehlt die Verwendung vonlazy-init=true, aber ich weiß nicht, wie ich dies mit Hilfe der Java-Konfiguration auf alle Beans in Spring Boot anwenden kann - irgendwelche Zeiger hier?

Alle (anderen) Vorschläge wären willkommen.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage