Najlepsza odpowiedź
Większość odpowiedzi w Internecie jest bardzo niejasnych, dlatego może zmylić początkującego.
Branżowa wersja Spring to Spring 3.0, zmiany w stosunku do poprzedniej wersji, tj. 2.5 składa się z (obsługiwanego JDK 5): –
Spring MVC Test Framework – Asynchroniczne przetwarzanie MVC na Servlet 3.0 – niestandardowe adnotacje definicji @Bean w @ Klasy konfiguracji – @Autowired i @Value do wykorzystania jako meta-adnotacje – Udoskonalenia współbieżności w całym frameworku – Ładowanie WebApplicationContexts we frameworku TestContext – JCache 0.5 (JSR-107)
Wiosna 2.X składała się głównie z 6 modułów, obsługiwane JDK 4: –
- Moduł Spring Core
- Spring Context [J2EE]
- Spring DAO Module [Spring JDBC]
- Moduł Spring ORM
- Spring AOP [Programowanie zorientowane na aspekt]
- Moduł Spring WEB-MVC
Powyższe różni się od poprzedniej wersji Spring 1.x z 7 modułami.
Odpowiedź
Najpierw sprawdź kilka faktów:
- Zarówno Spring Framework, jak i Spring Boot są używane do tworzenia aplikacji Java Enterprise.
- Można to zrobić wszystko za pomocą Spring Framework, które można osiągnąć za pomocą Spring Boot.
W takim razie dlaczego Spring Boot ?
Aby to zrozumieć, należy zrozumieć filozofię projektowania stojącą za stworzeniem Spring Boot. Jeśli rozumiesz filozofię / cel projektowania, automatycznie znałbyś różnicę między nimi.
Podam kilka najważniejszych z tych założeń projektowych:
- Konwencja ponad konfiguracją Jest to paradygmat projektowania oprogramowania używany w wielu platformach / systemach oprogramowania, który zapewnia użytkownikom rozsądne ustawienia domyślne, oczywiście poprzez przestrzeganie najlepsze praktyki i bez utraty elastyczności. Wpływ tej zasady projektowania jest głęboki i obejmuje; dobra architektura, łatwość konserwacji, tworzenie jednolitych i standardowych produktów, mniejsza liczba decyzji dla użytkownika, wzrost ogólnej produktywności, szybszy rozwój itp. żeby wymienić tylko kilka. Chodzi o to, że system / framework zapewni rozsądne wartości domyślne dla swoich użytkowników [zgodnie z konwencją], a jeśli ktoś odejdzie / odejdzie od tych wartości domyślnych, wystarczy dokonać jakichkolwiek zmian w konfiguracji. Weźmy Przykłady : Przykład 1: (Wdrożenie Uproszczone) Załóżmy, że użytkownik tworzy aplikację internetową zgodnie z Spring MVC, wtedy jest oczywiste, że użytkownik będzie potrzebował kontenera takiego jak Tomcat do wdrożenia tej aplikacji. Jeśli Twoja platforma zapewnia wbudowany Tomcat, użytkownik nie musi tracić czasu i wysiłku na instalację, konfigurację instancji Tomcat. Jeśli ktoś nie chce tego domyślnego zachowania, to framework powinien mieć również elastyczność. Pracuj dla siebie: szukaj zależnych słoików spring-boot-starter-web artifactId
org.springframework.boot - Szybkie tworzenie aplikacji Jedno zdanie, maksymalizujące kod, który faktycznie wnosi wartość lub jest powiązany z Twoją domeną i redukuje kod standardowy. Weźmy przykład: kod w Twojej aplikacji, który organizuje XML lub JSON, nie ma wartości dla klienta ani korzyści dla programistów
Teraz omówiliśmy filozofię projektowania stojącą za stworzeniem Spring Boot. Co to właściwie robi? W czym to pomaga?
- Przyspiesz rozwój
- Programiści inwestują swój czas w tworzenie rozwiązań, które naprawdę mają znaczenie i dodają wartości, zamiast tracić godzinę [zarówno wysiłek, jak i czas] na ustawienie w ich środowisku programistycznym, projektach, wprowadzaniu zmian w konfiguracji i pisaniu standardowych kodów
Mając nadzieję, że będę w stanie wyjaśnić różnicę między platformą Spring i Spring Boot z perspektywy projektowania.