Spring中SpringMVC,Springboot,Springcloud这样很好理解.

前言:

不知道大家是如何理解的,最近一直和spring打交道,就想做一个个人理解的总结.

Spring

Spring是一个轻量级的开源框架,很强,很好用,因为Spring已经对各个层做出了优化,其中各层的顺序是这样的(基本上环境也是这么个顺序搭出来的):


浏览器请求 <——> controller层(执行或控制器层) <——>service层(web服务层)<——> dao层(数据库访问层)<——> pojo层(domain对象层)<——>数据库


核心思想有两个:

1.控制反转(IOC):
一种设计思想----将设计对象提交给spring容器,让spring进行对象的创建或销毁(基本上就是在对象层实现的),其中需要用到DI(依赖注入):也就是注册,把对象注册到spring容器

2.面向切面编程(AOP):
这个就很强了!!!
在程序运行的时候动态的将代码切入到指定的方法继续运行(里面的方法不少,深入了解需要自己来=v=)


-----SpringMVC:


是一个MVC框架,其中包含了 Controller控制器(处理请求选择视图) View视图(用户与程序交互页面) Model模型(业务处理) ,该框架的主要工作流程大概分为6步:

1.发送请求:其实就是页面发送的请求,通过前端控制器接收.

2.获得处理器:通过请求的路径获得对应的controller(处理请求的类)

3.执行处理器:如上获得controller之后,执行controller中的方法,返回一定的Model数据

4.解析视图:将controller中返回的所有的数据进行解析,将逻辑视图(看不懂的)转化为真正的视图(看得懂的)

5.渲染视图:将Model中的数据渲染到View中.

6.响应数据:将转化好的视图与相对应的数据渲染到页面中将处理结果响应给浏览器.


-----Springboot:

(对于Springboot我只能说----牛掰!好用是真的好用,牛掰是真的牛掰.)

Springboot在我看来是一个已经配置好的电脑,里面基本不需要配置什么麻烦的东西,上手就能用(开发),并且里面整合了很多框架和Tomcat启动器之类等等的工具,对于开发来说是异常的方便


重点!!!
Springboot可以单独使用,专注于快速方便开发单个个体服务


-----Springcloud:

这个东西也很强(spring牛掰!)
Springcloud是一个微服务框架,其中主要有如下几个重要的功能和技术:

1.Eureka:实现了服务注册中心,服务的注册月发现.

2.Ribbon:提供负载均衡问题的解决方案.

3.Feign:类似于HttpClient的远程调用技术,使用方式及其简单,只需要定义接口即可远程访问.

4Hystrix:其中的熔断机制可以避免在微服务中的个别服务出现异常时引起的故障蔓延.

5.Zuul:作为网关,可以进行鉴权和动态路由的实现.


这里提一嘴:Springboot可以单独使用,并不依赖于Springcloud,但是!!!Springcloud必然依赖于Springboot,属于依赖关系!!!
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章