Main differences between Spring, SpringMVC, and Springboot,
Spring boot is a large framework that contains many things. spring is one of the core contents, of course, spring mvc.
Spring mvc is only a module for spring to process web layer requests.
Therefore, their relationship is like this:
Spring mvc <spring
Spring boot I understand is to combine some common basic frameworks such as spring mvc spring data jpa, provide default configurations, and then provide pluggable designs, that is, various starters, to make it easier for developers to use this series of technologies. The spring family has grown to a very large scale today. As a developer, if you want to use a series of technologies from the spring family, configuration is required one by one, and there is a version compatibility problem. In fact, it is quite troublesome, and sometimes there may be a small pitfall. In fact, it may affect the development progress. spring boot is used to solve this problem, A solution is provided. You can quickly start development and write business logic without worrying about how to configure it. You can add starter to the various technologies you need to configure it and use it directly, we can say that we are pursuing out-of-the-box results.
The spring framework has many extension products, such as boot security jpa etc... however, it is based on spring ioc and aop ioc. It provides the dependency injection container aop to solve cross-section programming. Then, on the basis of the two, it implements the advanced functions of other extended products Spring MVC. it is a Servlet-based MVC framework that mainly solves the problem of WEB development. Because Spring configuration is too complicated and various XML JavaConfig hin troubles, lazy people change the world and launch the Spring boot convention, which is better than the configuration and simplifies spring. configuration process.
Spring initially decouples application components using the "factory mode" (DI) and "Agent Mode" (AOP. We thought it was quite useful, so we developed an MVC Framework (some components decoupled from Spring) in this mode and developed web applications (SpringMVC ). Then I found that every development requires a lot of dependencies, and it is very troublesome to write a lot of sample code. So I made some lazy integration packages (starter), which is Spring Boot.