Beste antwoord
De meeste antwoorden op internet zijn erg vaag, en kunnen daarom een beginner in de war brengen.
Industriebrede Spring-versie is Spring 3.0, wijzigingen ten opzichte van vorige versie, dwz 2.5 bestaat uit (ondersteund JDK 5): –
Spring MVC Test Framework – Asynchrone MVC-verwerking op Servlet 3.0 – aangepaste @Bean-definitieannotaties in @ Configuratieklassen – @Autowired en @Value om te gebruiken als meta-annotaties – Concurrency-verfijningen in het framework – WebApplicationContexts laden in het TestContext-framework – JCache 0.5 (JSR-107)
Spring 2.X bestond voornamelijk uit 6 modules, ondersteund JDK 4: –
- Spring Core Module
- Spring Context [J2EE]
- Spring DAO Module [Spring JDBC]
- Spring ORM-module
- Spring AOP [Aspect Oriented Programming]
- Spring WEB-MVC Module
Bovenstaande verschilt van vorige versie Spring 1.x met 7 modules.
Antwoord
Enkele feiten Controleer eerst:
- Zowel Spring Framework als Spring Boot worden gebruikt om Java Enterprise-applicaties te maken.
- Men zou kunnen doen alles met Spring Framework dat kan worden bereikt met Spring Boot.
Waarom dan Spring Boot ?
Om dit te begrijpen, moet men de ontwerpfilosofie achter de creatie van Spring Boot begrijpen. Als je de ontwerpfilosofie / -doelstelling begrijpt, weet je automatisch het verschil daartussen.
Ik zal enkele hoogtepunten van die ontwerpdoelstellingen geven:
- Conventie over configuratie Het is een softwareontwerpparadigma dat door veel softwareframeworks / -systemen wordt gebruikt en dat de gebruiker redelijke standaardinstellingen biedt, uiteraard door de beste praktijken en zonder aan flexibiliteit in te boeten. De impact van dit ontwerpprincipe is groot en omvat; goede architectuur, onderhoudbaarheid, uniforme en standaard productcreatie, minder beslissingen voor de gebruiker, verhoging van de algehele productiviteit, snellere ontwikkeling enz. om er maar een paar te noemen. Het idee is dat het systeem / het raamwerk verstandige standaardinstellingen voor hun gebruikers zou bieden [volgens afspraak] en als iemand afwijkt / afwijkt van deze standaardinstellingen, hoeft u alleen maar configuratiewijzigingen aan te brengen. Laten we een paar Voorbeelden nemen: Voorbeeld 1: (implementatie Vereenvoudigd) Stel dat de gebruiker een webapplicatie maakt volgens Spring MVC, dan is het duidelijk dat de gebruiker een container zoals Tomcat nodig heeft om deze applicatie te implementeren. Als uw framework embedded Tomcat kan bieden, hoeft de gebruiker geen tijd en moeite te verspillen aan het installeren en configureren van zijn Tomcat-instantie. Als je dit standaardgedrag niet wilt, moet het framework ook daarvoor flexibiliteit hebben. Werk voor jou: let op de afhankelijke potten van spring-boot-starter-web artifactId
org.springframework.boot - Snelle applicatie-ontwikkeling Eén zin, het maximaliseren van de code die daadwerkelijk waarde toevoegt of gerelateerd is aan uw domein en het verminderen van de standaardcode. Neem een voorbeeld: code in uw applicatie die XML of JSON marshals heeft geen klantwaarde en heeft ook geen voordelen voor de ontwikkelaar.
Nu hebben we de ontwerpfilosofie besproken achter de creatie van Spring Boot. Wat doet het eigenlijk? Hoe helpt het?
- Versnel de ontwikkeling
- Ontwikkelaars investeren hun tijd in het creëren van oplossingen die er echt toe doen en die waarden toevoegen in plaats van uren [zowel moeite als tijd] te verspillen aan het opzetten hun ontwikkelomgeving, projecten verbeteren, configuratiewijzigingen aanbrengen en standaardcodes schrijven.
In de hoop dat ik in staat ben om het verschil tussen Spring framework en Spring Boot vanuit ontwerpperspectief uit te leggen.