Spring和SpringMVC的区别
如果要说清两者的区别,如果没有一个使用这两个框架的经验估计是很难说清的,为了简单期间我们就以大家耳熟能详的Spring和struts框架来说。
首先对于大多数的web开发者而言相比struts这个MVC框架一定不会陌生,他是ssh(Spring+spirngMvc+hibernate)框架的大脑,一说大脑大家应该就明白他类似是一个分配工作的工作站,每次的请求都会把请求封装之后经过struts的逻辑处理,然后交给对应的处理类来处理。而当springmvc出现之后不得不说struts该退休了。虽然struts功能相当强大,spring可以说望尘莫及。然而对于我们常用到的功能(工作站来说)spring已经是当只无愧的了。另外由于spring的强大支持,而springmvc的使用jar包依赖spring,所以近阶段的开发中,已经越来越多的开发者选择springmvc了。 具体的书面区别:
spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
Spring的两大核心AOP与IOC,可以单独用于任何应用,包括与Struts等MVC框架与Hibernate等ORM框架的集成,目前很多公司所谓的轻量级开发就是用 Spring + Struts(2)+Hibernate。
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的架包作为支撑才能跑起来
相关推荐
Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...
完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统...
传智播客Java进阶Spring和springMVC详细示例精通教程资料 传智播客Java进阶Spring和springMVC详细示例精通教程资料 传智播客Java进阶Spring和springMVC详细示例精通教程资料
Spring和SpringMVC面试问题总结 1.Spring中AOP的应用场景、Aop原理、好处? 2.Spring中IOC的作用与原理?对象创建的过程。 3.介绍spring框架 4.Spring常见创建对象的注解? 5.Spring中用到的设计模式 6.Spring的优点...
java面试精选一 Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系? java面试刷题,查缺补漏 java面试刷题,查缺补漏 java面试刷题,查缺补漏 Spring,SpringMVC,SpringBoot,SpringCloud的区别和联系 ...
spring和springMVC整合源码的helloworld版。
spring+springMvc+mybatis完美整合项目,内含数据库相关文件,导入即可运行,如有疑问请留意。
Spring和SpringMVC父子容器关系视频,视频,视频,视频,重要的事情说了不止三遍。。。
spring/springmvc/mybatis所需jar包
ssm-Spring和SpringMVC和MyBatis.zip
Spring+SpringMVC+Hibernate+maven项目,适用初学者学习。
基于Spring+SpringMVC+Mybaits的小区停车场车牌识别系统 基于Spring+SpringMVC+Mybaits的小区停车场车牌识别系统 基于Spring+SpringMVC+Mybaits的小区停车场车牌识别系统 基于Spring+SpringMVC+Mybaits的小区停车场...
spring-springMVC开发文档和AOP详解,便于学习运用框架知识
spring+springmvc+mybatis 适合练手,但是jdk版本不要太高,不然运行容易出现版本的问题
Spring+SpringMVC+Mybatis框架项目整合
酒店管理系统源码(spring+springmvc+mybatis) 酒店管理系统源码(spring+springmvc+mybatis) 酒店管理系统源码(spring+springmvc+mybatis) 酒店管理系统源码(spring+springmvc+mybatis) 酒店管理系统...
Spring+SpringMvc+Mybatis学生管理系统,含登录,数据库。
SSM框架——详细整合教程(Spring+SpringMVC+MyBatis).pdfSSM框架——详细整合教程(Spring+SpringMVC+MyBatis).pdf
Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA
注解和注释以及Spring和SpringMVC常用的注解 1.两者区别 注解 :参与代码编译,以@开头的。它是给应用程序看的,单独使用注解毫无意义,一定要跟工具一起使用,这个所谓的工具实际就是能读懂注解的应用程序 注释 :...