Bästa svaret
De flesta av svaren på internet är väldigt vaga och kan därför vara förvirrande för en nybörjare.
Branschomfattande vårversion är Spring 3.0, ändras från tidigare version, dvs. 2.5 består av (stöds JDK 5): –
Spring MVC Test Framework – Asynkron MVC-bearbetning på Servlet 3.0 – anpassade @Bean-definitionsanmärkningar i @ Konfigurationsklasser – @Autowired och @Value som ska användas som metaanmärkningar – Concurrency-finjusteringar över hela ramverket – Laddar WebApplicationContexts i TestContext-ramverket – JCache 0.5 (JSR-107)
Vår 2.X bestod huvudsakligen av 6 moduler, stöds JDK 4: –
- Fjäderkärnmodul
- Fjäderkontext [J2EE]
- Fjäder DAO-modul [Fjäder JDBC]
- Spring ORM module
- Spring AOP [Aspect Oriented Programming]
- Spring WEB-MVC Module
Ovan skiljer sig från tidigare version Spring 1.x med 7 moduler.
Svar
Några fakta kontrolleras först:
- Både Spring Framework och Spring Boot används för att skapa Java Enterprise-applikationer.
- Man kan göra allt med hjälp av Spring Framework som kan uppnås med Spring Boot.
Varför Spring Boot ?
För att förstå detta måste man förstå designfilosofin bakom skapandet av Spring Boot. Om du förstår designfilosofin / målet skulle du automatiskt känna till skillnaden mellan dessa.
Jag kommer att ge några höjdpunkter i dessa designmål:
- Konvention över konfiguration Det är ett paradigm för programvarudesign som används av många programramar / system som ger förnuftiga standardvärden för användaren självklart genom att följa bästa praxis och utan att förlora flexibiliteten. Effekten av denna designprincip är djupgående och dessa inkluderar; bra arkitektur, underhållsbarhet, enhetlig och standardiserad produktskapning, mindre antal beslut för användaren, ökning av den totala produktiviteten, snabbare utveckling osv. Tanken är att system / ramverk skulle ge förnuftiga standardvärden för sina användare [enligt konvention] och om man avviker / avviker från dessa standardvärden behöver bara en göra konfigurationsändringar. Låt oss ta några Exempel : Exempel 1: (Distribution Förenklad) Antag att användaren skapar en webbapplikation efter Spring MVC, då är det uppenbart att användaren behöver en behållare som Tomcat för att distribuera denna applikation. Om ditt ramverk kan ge inbäddad Tomcat behöver användaren inte slösa bort sin tid och ansträngning på att installera och konfigurera Tomcat-instansen. Om man inte vill ha detta standardbeteende bör ramverk ha flexibilitet för det också. Arbetar för dig: Håll utkik efter de beroende burkarna på spring-boot-starter-web artifactId
org.springframework.boot - Snabb applikationsutveckling En mening som maximerar koden som faktiskt adderar värde eller är relaterad till din domän och minskar pannkodskoden. Ta ett exempel: kod i din applikation som marshals XML eller JSON inte har något kundvärde eller har någon utvecklarfördel
Nu har vi diskuterat designfilosofin bakom skapandet av Spring Boot. Vad det faktiskt gör? Hur hjälper det?
- Påskynda utvecklingen
- Utvecklare investerar sin tid i att skapa lösningar som faktiskt betyder något och adderar värden snarare än att slösa tid [både ansträngning och tid] på inställningen upp deras utvecklingsmiljö, projekt, göra konfigurationsändringar och skriva pannkodskoder
Jag hoppas att jag kan förklara skillnaden mellan Spring Framework & Spring Boot ur designperspektiv.