I am new to Spring. Can any one let me know what is the difference between Spring and Spring MVC Framework ?
Spring
An umbrella term to denote various projects, one of which is Spring Framework.
Spring MVC
The Spring Framework
project has several features. One of them is Spring MVC
.
Features of Spring Framework
are -
Core Technologies: Dependency Injection, validation, data binding, type conversion, SpEL
, AOP
etc.
Testing
Data Access: Transactions, DAO support, JDBC
, ORM
etc.
Spring MVC and Spring WebFlux web frameworks.
Integration: JMS
, JMX
, email, scheduling etc.
Languages: Kotlin
, Groovy
, dynamic languages.
So, the Spring MVC
feature allows developers to build applications following Model-view-controller design pattern using Spring Framework
.
Other Spring projects
Spring Boot: For creating stand-alone Spring
applications using Convention over configuration design paradigm.
Spring Data: For creating Spring
-based programming model for data access. It has various modules like Spring Data JDBC, Spring Data JPA, Spring Data MongoDB etc.
Spring Security: Powerful and highly customizable authentication and access-control framework for both Authentication and Authorization.
And many other projects.
NOTE
Spring
, Spring Framework
and Spring MVC
these terms are often used interchangeably among developers which sometimes creates confusion for people who already don't know the details.