赞
踩
一.springmvc:
在早些时候,javaweb的开发中,统一把显示层,控制层,数据层的操作全部交给JSP或者javaBean处理,我们可以称之为Model1:
出现的弊端:
正是因为上面的这些弊端,所以很快这种方式就被Servlet+JSP+JavaBean所替代了,早期的MVC模型是Model2
首先用户的请求会到达Servlet,然后根据请求调用响应的JavaBean,并把所有的显示结果交给JSP完成,这样的模式我们就成为MVC模式
M代表的模型 Model
模型就是数据,就是dao,bean
V代表的试图 View
C代表的控制器 COntroller
控制器就是把不同的数据Model显示在不同的试图View上,Servlet就是扮演这样的角色。
(后面会介绍如何搭建一个SpringMVC项目)
二.SpringBoot
springBoot就是让你的项目尽快跑起来的spring应用程序并且尽可能减少你的配置文件
设计目的:
用来简化新Spring应用的初始搭建以及开发过程
从最根本上来说,SpringBoot就是一些库的集合,他能够被人以项目的构建系统所使用,他使用习惯由于配置(项目中存在大量的配置,西外还内置一个习惯性的配置)的理念,让你的向项目快速运行起来,用大佬的话理解,就是SpringBoot其实不是什么新的框架,他默认配置了很多框架的使用方式,就想maven整合了所有的jar包,springboot整合所有框架,总结一下及几点:
SpringBoot在应用中的角色
springBoot是基于SpringFramework来构建的,SpringFramework是一种J2EE的框架
SpringBoot是一种快速搭建Spring应用
SrpingCloud是构建SpringBoot分布式环境,也就是常说的云应用
SpringBoot中流砥柱,承上启下
三.SpringMvc与SpringBoot区别
总结:
Spring最初利用“工程模式”(DI)和“代理模式”(AOP)解耦应用组件,大家觉得挺好用,于是按照这种模式搞了一个MVC框架(一些Spring的解耦组件),用于开发Web应用(SpringMVC),然后发现每次开发都写了很多样板代码,为了简化工作流程,于是开发出了一些懒人整合包,这套就是SpringBoot
所有,用最简练的语言概括就是:
Spring是一个引擎;
SpringMVC是基于Spring的一个MVC框架;
SpringBoot是基于Spring4的条件注册的一套快速开发整合包
但是面试官提问这些并非需要这些答案!
SpringMVC从两个方面看
1.Spring的核心中IOC与AOP。IOC就是控制翻转(就是将原本由程序代码直接操作的对象的调用权交给容器)。目的是为了减低计算机代码的耦合度,所谓的耦合度就是代码中的逻辑关系不要太紧密,避免后面改的人会因为不懂业务逻辑导致改错代码,除此以外也避免我们每次创建心得对象,减少对应的代码量。我们实际代码过程中最常见的方式是依赖注入(DIDependencyInjection),所谓依赖注入就是通过构造函数注入或者set进行注入。依赖查找(DL Dependency Lookup)这是通过名称和类型查找bean,AOP分为五部门:
区别
Spring的三大核心IOC(控制反转)和DI(依赖注入)和AOP(面向切面编程)
控制反转是将原先在代码中创建对象的工作交由Spring容器管理,依赖注入采用动态代理的方式进行注入,注入方式可以通过构造函数、set方法、@Autowired注解注入。spring的IOC和DI都是为了解除代码之间的耦合度,便于日后的项目扩展。举个例子:在未使用spring之前,创建对象是通过在代码中new进行实例化的,假设我这里有一个Demo类,Demo类中有一个方法叫做getInfo(),A,B,C,D类中都有调用Demo类中的getInfo(),有一天小王不小心把getInfo()方法改动了,结果导致所有调用Demo类的getInfo()的类都报错了,直接项目跑步起来,通过上面可想而知为什么我们需要解除程序耦合,而spring的SpringIOC和DI就是为了解决这个问题的。另外就是对象生命周期的问题,以往大量创建的示例对象在代码进行,如果对象资源不解释释放销毁很容易出现内存溢出异常
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。