Nejlepší odpověď
Většina odpovědí na internetu je velmi vágních, a proto může začátečníka zmást.
Široká průmyslová jarní verze je Spring 3.0, změny oproti předchozí verzi, tj. 2.5, se skládají z (podporováno JDK 5): –
Spring MVC Test Framework – Asynchronous MVC processing on Servlet 3.0 – custom @Bean definition annotations in @ Konfigurační třídy – @Autowired a @Value, které se mají použít jako metaanotace – Zpřesnění souběžnosti v rámci – Načítání WebApplicationContexts v rámci TestContext – JCache 0.5 (JSR-107)
Jaro 2.X se skládalo hlavně z 6 modulů, podporováno JDK 4: –
- Spring Core Module
- Spring Context [J2EE]
- Spring DAO Module [Spring JDBC]
- Jarní modul ORM
- Jarní AOP [Aspect Oriented Programming]
- Jarní WEB-MVC modul
Výše se liší od předchozí verze Jaro 1.x se 7 moduly.
Odpověď
Nejprve zkontrolujte některá fakta:
- K vytváření aplikací Java Enterprise se používá Spring Framework i Spring Boot.
- Dalo by se to vše pomocí Spring Framework, čehož lze dosáhnout Spring Bootem.
Proč tedy Spring Boot ?
Abychom tomu porozuměli, je třeba pochopit filozofii designu, která stojí za vytvořením Spring Boot. Pokud rozumíte filozofii / cíli designu, pak byste automaticky věděli, jaký je mezi nimi rozdíl.
Uvedu několik vrcholů těchto designových cílů:
- Konvence nad konfigurací Je to paradigma softwarového designu používaná mnoha softwarovými rámci / systémy, které uživateli zjevně poskytuje rozumné výchozí hodnoty podle pokynů osvědčené postupy a bez ztráty flexibility. Dopad tohoto principu návrhu je hluboký a zahrnuje; dobrá architektura, udržovatelnost, jednotné a standardní vytváření produktů, menší počet rozhodnutí pro uživatele, zvýšení celkové produktivity, rychlejší vývoj atd., abych zmínil několik. Myšlenka je, že systém / rámec by poskytoval rozumné výchozí hodnoty pro jejich uživatele [podle konvence] a pokud se někdo odchýlí / odchýlí se od těchto výchozích hodnot, pak pouze jeden musí provést jakékoli změny konfigurace. Vezměme si několik příkladů : Příklad 1: (Nasazení Zjednodušené) Předpokládejme, že uživatel vytvoří webovou aplikaci po jarním MVC, pak je zřejmé, že k nasazení této aplikace bude uživatel potřebovat kontejner jako Tomcat. Pokud váš rámec může poskytnout integrovaný Tomcat, pak uživatelé nemusí ztrácet čas a úsilí instalací, konfigurací instance Tomcat. Pokud si toto výchozí chování nepřejete, pak by rámec měl mít také flexibilitu. Pracujte pro vás: Dávejte pozor na závislé sklenice spring-boot-starter-web artifactId
org.springframework.boot - Rychlý vývoj aplikací Jedna věta, maximalizace kódu, který skutečně přidává hodnotu nebo souvisí s vaší doménou, a omezení standardního kódu. Vezměte si příklad: kód ve vaší aplikaci, který zařazuje XML nebo JSON, nemá žádnou hodnotu pro zákazníka ani nemá výhodu pro vývojáře.
Nyní jsme diskutovali o filozofii designu, která stojí za vytvořením Spring Boot. Co to vlastně dělá? Jak to pomáhá?
- Urychlení vývoje
- Vývojáři investují svůj čas do vytváření řešení, na kterých skutečně záleží, a přidávají hodnoty, místo aby ztráceli hodinu [úsilí i čas] při nastavování vylepšit jejich vývojové prostředí, projekty, provádět změny konfigurace a psát standardní kódy
Doufám, že jsem schopen vysvětlit rozdíl mezi Spring frameworkem a Spring Bootem z hlediska designu.