Spring和SpringMVC:
- Spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(SpringMVC)、业务层(IOC)、持久层(jdbcTemplate)等都提供了多种配置解决方案;
- SpringMVC是Spring基础之上的一个MVC框架,主要处理Web开发的路径映射和视图渲染,属于Spring框架中WEB层开发的一部分;
SpringMVC和SpringBoot:
1、SpringMVC属于一个企业WEB开发的MVC框架,涵盖面包括前端视图开发、文件配置、后台接口逻辑开发等,XML、config等配置相对比较繁琐复杂;
2、SpringBoot框架相对于SpringMVC框架来说,更专注于开发微服务后台接口,不开发前端视图,同时遵循默认优于配置,简化了插件配置流程,不需要配置xml,相对SpringMVC,大大简化了配置流程;
总结:
- Spring 框架就像一个家族,有众多衍生产品例如 boot、security、jpa等等。但他们的基础都是Spring的ioc、aop等. ioc 提供了依赖注入的容器, aop解决了面向横切面编程,然后在此两者的基础上实现了其他延伸产品的高级功能;
- SpringMVC主要解决WEB开发的问题,是基于Servlet 的一个MVC框架,通过XML配置,统一开发前端视图和后端逻辑;
- 由于Spring的配置非常复杂,各种XML、JavaConfig、servlet处理起来比较繁琐,为了简化开发者的使用,从而创造性地推出了SpringBoot框架,默认优于配置,简化了SpringMVC的配置流程;但区别于SpringMVC的是,SpringBoot专注于单体微服务接口开发,和前端解耦,虽然SpringBoot也可以做成SpringMVC前后台一起开发,但是这就有点不符合SpringBoot框架的初衷了;