Spring 和 Spring MVC的区别
Spring 和 Spring MVC的区别
学习Spring MVC也有几天时间了,那么Spring和Spring MVC的区别到底在哪里,二者是什么关系呢?认为二者是一个东西那肯定是不对的,而认为二者是完全不同的东西那也是不对的。
Spring是一种开源的框架,是为了解决企业应用开发的复杂性而创建的,它的用途不仅限于服务店的开发,而是任何应用都可以从Spring中受益。其中最主要的思想就是面向切面编程以及控制权反转,分别被缩写为AOP与IOC。使用最通俗外行的话讲,Spring就是一个写代码的模式,这个模式里边不光是一些规则与约定,还提供一些便利工具,这些便利工具实现了控制权反转(也就是通过Spring容器创建对象)与面向切面编程。使用Spring框架,让我们在开发大规模的Java项目时实现高程度的解耦,进而可以灵活地对我们的项目进行维护。
Spring MVC是一种专注于Java Web的框架,我们可以使用一种通俗的想法来理解,就是:使用了Spring框架的基于MVC模式的前端开发框架,我们知道在开发前端的时候也不光是写前端页面,在控制层肯定是得写Java代码,我们在写这些Java代码的时候,Spring MVC这个框架也会为我们提供很多方便的工具,让我们写起来又快又舒服,里边的很多功能实现都是基于Spring的,同时开发者还基于Spring实现了一些针对WEB开发的特殊功能,让我们在书写起跳转,业务处理等逻辑时更加舒服方便,但是这些功能的实现,都是通过原有的Spring的功能实现的。也就是说Spring MVC是一个基于Spring框架创建的,在WEB开发中别有所长的一个子框架,是通过Spring框架实现的,专注于WEB开发的框架。
现在我们可以知道二者的区别是什么了,Spring是Spring MVC的爹,相当于JQuery与LayUI的关系,Spring MVC是基于Spring实现的,被加入了一些针对MVC模式的WEB开发的框架,Spring则是原生的,更为基础的框架,Spring MVC被特化成了专注于开发WEB页面,而Spring仍有无尽的可能,Spring可以开发各种Java项目,它也可以开发web项目,但是使用它开发web项目需要我们自己做一些配置,书写一些功能,如果我们写的好,被高度认可,那我们自己写的也可能会成为一个基于Spring的新框架,比如Spring 666什么的,只要真的被认可,这都是有可能的。现在存在很多基于Spring的框架,它们实际上都是Spring的子框架,比如Spring MVC,Spring Boot,Spring Cloud等等,它们五花八门,但是实际上都是基于Spring开发的。