Spring-springmvc-springboot-springcloud之间的关联

大家都知道spring-springmvc-springboot-springcloud等spring技术,但是,知道为何会有这么多sping的技术呢?其实这也是我一直的疑问,然后通过自己的工作和查找资料,有了一些浅薄的看法。错了请指正哈!

spring

首先,我门要知道spring是一个生态体系或者说是一个技术体系。
spring的核心是IOC(inverse of control 控制反转)和AOP(aspect oriend program面向切面编程)。

IOC

是一种思想,不是一种技术,且不仅仅应用再spring这里。
作用:把创建对象的功能交由spring容器管理。(依靠注解来实现@Component,@Repository,@Service,@Controller)
在实际应用中用注解@Resource或者@Autowire注入到想要用的的地方。
利用了工厂模式

AOP

AOP也是一种思想。
概念:就是把重复的代码抽取出来,然后用动态代理对已有的方法进行加强。
在实际的运用中,我们更多的是使用注解的方式。大致常用两种使用方式:
方式一:用切入点表达式
方式二:@annotation结合注解一起使用
具体的使用,亲看后面的文章:AOP的实际使用

拓展:

①对方法的加强,有两种方法:
第一种:装饰者模式(静态代理),采用创建对象的包装类 (每次使用都得创建)
第二种:代理模式,运用动态代理来创建代理对象(这个只需要一个包装类)

②动态代理 → AOP → 声明式事务
AOP的原理是动态代理,声明式事务的原理是AOP

什么是动态代理呢?请查看我后面你都文章!

springmvc

  • 有了spring,但是无法直接把前后端之间关联起来,故而,有了springmvc。

  • springmvc是基于spring和mvc架构的框架,通过XML配置,统一前端试图和后端逻辑接口。
    web层(springmvc),业务层(ioc),持久层(jdbc)

  • 前后端的连接点就是把web开发路径映射(接口)和视图渲染(接口返回的数据)的DispatcherServlet前置控制器。

  • springmvc的核心是:DispatcherServlet前置控制器,DispatcherServlet实质也是一个HttpServlet。DispatcherSevlet负责将请求分发,所有的请求都有经过它来统一分发。
    原理图

注意:springmvc的执行流程是面试的时候特别喜欢问的问题。

springboot

因为springmvc的xml配置太复杂了,所以为了简化配置这一步(前后端解耦),就有了springboot。
springboot能够快速的开发的单个微服务,此时,就不需要tomcat了。

springcloud

  • springcloud是基于springboot实现的,关注的是全局的微服务整合和管理。
  • 将多个springboot单微服务进行整合和管理。
  • springboot是单微服务,springcloud依赖springboot。

总结:

spring是一种技术生态体系;
springmvc是为了通过DispatcherServlet前置控制器把前端请求和后端接口绑定;
springboot是为了让springmvc的前后端解耦,且简化xml配置的单个微服务框架;
springcloud这是依赖且整合管理多个springboot单个微服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LC超人在良家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值