Spring i Spring Boot nie są narzędziami konkurencyjnymi, lecz wzajemnie się uzupełniają. Framework Spring Boot jest w rzeczywistości oparta na strukturze Spring, więc zrozumienie różnicy polega w mniejszym stopniu na wyborze jednego z nich, a bardziej na wiedzy o tym, co każdy z nich wprowadza do tabeli.
Na początek przyjrzyjmy się dwóm pojęciom, które często pojawiają się podczas oceny struktur deweloperskich: nieopiniowane i sprawdzone.
Nieopiniowane struktury
Nieopiniowana struktura zapewnia deweloperom swobodę tworzenia struktur, niezależnie od tego, jak są one odpowiednie. Zapewnia to maksymalną elastyczność i zapewnia większą kontrolę zespołowi deweloperów. Należy jednak pamiętać, że wymaga to również większej wiedzy i większej pracy z góry, aby skonfigurować i uruchomić aplikację.
Struktury sprawdzone
Struktura sprawdzone określają przejrzystą, dobrze ułożoną ścieżkę, która działa prawidłowo dla większości zespołów w większości sytuacji. Zmniejsza zmęczenie decyzjami, zwiększa spójność w różnych bazach kodu i ułatwia nowym deweloperom szybkie rozpoczęcie pracy. W zamian za to tracimy wprawdzie nieco na elastyczności, ale w przypadku większości współczesnych scenariuszy tworzenia aplikacji jest to opłacalny kompromis.
Framework Spring jest w pełni konfigurowalna i nieopiniowana, co oznacza, że nie określa konkretnego sposobu kompilowania aplikacji. Ta elastyczność jest zaawansowana, ale wiąże się z kompromisem: deweloperzy muszą podjąć wiele decyzji z góry i napisać znaczący kod konfiguracji, zanim będą mogli rozpocząć tworzenie rzeczywistej aplikacji.
Platforma Spring Boot ma inne podejście. W przypadku sprawdzonej podejmuje ona domyślne decyzje w Twoim imieniu, dzięki czemu możesz skupić się na pisaniu logiki aplikacji, a nie na konfiguracji. Została zaprojektowana z myślą o szybkości i prostocie, dzięki czemu deweloperzy mogą od zera do działającej aplikacji w znacznie krótszym czasie niż praca tylko z samą platformą Spring.
Funkcja podpisu, która sprawia, że podejście z opiniami platformy Spring Boot jest tak skuteczne, to automatyczna konfiguracja. Zamiast wymagać od deweloperów ręcznego połączenia każdego składnika aplikacji, platforma Spring Boot automatycznie wykrywa zawartość ścieżki klasy i odpowiednio konfiguruje aplikację. To jeden z głównych powodów, dla których zespoły programistyczne sięgają po Framework Spring Boot, gdy muszą działać szybko, nie idąc przy tym na skróty.