Spring和SpringMVC的区别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring和SpringMVC的区别是啥?相关的知识,希望对你有一定的参考价值。

参考技术A

Spring与SpringMVC的区别

1、Spring 是是一个开源框架,是为了解决企业应用程序开发,简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。

Spring也提供了很多基础功能(事务管理、持久化框架集成等等,将应用逻辑的开发留给了你。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。

它们也为Spring中的各种模块提供了基础支持。Spring的两大核心AOP与IOC,可以单独用于任何应用,包括与Struts等MVC框架与Hibernate等ORM框架的集成,目前很多公司所谓的轻量级开发就是用 Spring + Struts(2)+Hibernate。

2、Spring MVC就是一个MVC框架,Spring MVC annotation式的开发比Struts2方便,可以直接代替上面的Struts(当然Struts的做为一个非常成熟的MVC,功能上感觉还是比Spring强一点,不过Spring MVC已经足够用了)。

spring mvc的执行效率比struts高,是因为struts的值栈影响效率Spring MVC类似于struts的一个MVC开框架,其实都是属于Spring ,Spring MVC需要有Spring 的架包作为支撑才能跑起来。

3、Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。 可以将SpringMVC类比于Struts。 

Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。 

Spring可以说是一个管理bean的容器,也可以说是包括很多开源项目的总称,spring mvc是其中一个开源项目,所以简单走个流程的话,http请求一到,由容器(如:tomact)解析http搞成一个request,通过映射关系(路径,方法,参数啊)被spring mvc一个分发器去找到可以处理这个请求的bean,那tomcat里面就由spring管理bean的一个池子(bean容器)里面找到,处理完了就把响应返回回去。

SpringMVC是一个MVC模式的WEB开发框架;

Spring是一个通用解决方案, 最大的用处就是通过Ioc/AOP解耦, 降低软件复杂性, 所以Spring可以结合SpringMVC等很多其他解决方案一起使用, 不仅仅只适用于WEB开发

SSH: 

SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。

springboot与springmvc的区别是啥?

1、Spring 框架就像一个家族有众多衍生产品例如 boot、security、jpa等等但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop 解决了面向横切面的编程然后在此两者的基础上实现了其他延伸产品的高级功能。

2、Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题因为 Spring 的配置非常复杂各种XML、 JavaConfig、hin处理起来比较繁琐于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置简化了spring的配置流程。

3、说得更简便一些Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件大家觉得挺好用于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的组件)用开发 web 应用( SpringMVC )。

4、然后有发现每次开发都写很多样板代码为了简化工作流程于是开发出了一些“懒人整合包”(starter)这套就是 Spring Boot。

5、Spring MVC的功能

6、Spring MVC提供了一种轻度耦合的方式来开发web应用。

7、Spring MVC是Spring的一个模块式一个web框架通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。

8、解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

1、众所周知Spring框架需要进行大量的配置Spring Boot引入自动配置的概念让项目设置变得很容易Spring Boot本身并不提供Spring框架的核心特性以及扩展功能只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。

2、也就是说它并不是用来替代Spring的解决方案而是和Spring框架紧密结合用于提升Spring开发者体验的工具。

4、同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box)大部分的Spring Boot应用都只需要非常少量的配置代码开发者能够更加专注于业务逻辑。

5、Spring Boot只是承载者辅助你简化项目搭建过程的如果承载的是WEB项目,使用Spring MVC作为MVC框架那么工作流程和你上面描述的是完全一样的因为这部分工作是Spring MVC做的而不是Spring Boot。

6、对使用者来说换用Spring Boot以后项目初始化方法变了,配置文件变了另外就是不需要单独安装Tomcat这类容器服务器了maven打出jar包直接跑起来就是个网站但你最核心的业务逻辑实现与业务流程实现没有任何变化。

参考技术A 大概说一下:
Spring 是一个“引擎”
Spring MVC 是基于 Spring 的一个 MVC 框架
Spring Boot 是基于 Spring4 的条件注册的一套快速开发整合包

Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后有发现每次开发都要搞很多依赖,写很多样板代码很麻烦,于是搞了一些懒人整合包( starter ),这套就是 Spring Boot 。
spring 框架有超多的延伸产品例如 boot security jpa etc... 但它的基础就是 spring 的 ioc 和 aop ioc 提供了依赖注入的容器 aop 解决了面向横切面的编程 然后在此两者的基础上实现了其他延伸产品的高级功能 Spring MVC 呢是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题 因为 Spring 的配置太复杂了 各种 XML JavaConfig hin 麻烦 于是懒人改变世界推出了 Spring boot 约定优于配置 简化了 spring 的配置流程 简单谈下自己的理解 也没有学很久 若有错误请指正

以上是关于Spring和SpringMVC的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Spring与SpringMVC的区别和联系是啥?

springboot与springmvc的区别是啥?

Struts和spring分别是啥?

spring是啥意思

请问各位大师:spring mvc中下面报的这个错是啥原因?应该如何解决?

spring是啥意思