spring、springMvc、springBoot、springCloud之间关系?浅析

22 篇文章 0 订阅
10 篇文章 0 订阅

在java开发领域,对spring家族一定不会陌生,也一定不能陌生。
从时间上出现的先后关系为,最早到至今:
spring、springMvc、springBoot、springCloud
从依赖上互相之间的关系为,自低向上:
在这里插入图片描述

spring

spring是一站式的java开发框架,采用容器化管理,创建各种bean实例,并维护着bean与bean之间的关系。
spring的设计理念是无侵入、简单,可以让普通的javaBean对象实现各种功能,换种说法是在sping中,一切皆组件(javaBean)。
3个核心内容
IOC(Inversion of Control):控制反转
DI(Dependency Injection):依赖注入
AOP(Aspect Oriented Programming):面向切面编程
2个概念
容器
组件
spring中如何进行对象的实例化,各个实例又交给谁?
sping框架借助反射帮助我们创建对象实例化,然后放到spring容器中,底层就是用的ConcurrentHashMap作为容器管理所有的对象。

创建一个spring.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="user" class="com.spring.demo.User">
    <property name="name" value="caocao"/>
    <property name="age" value="20"/>
    <property name="address" ref="bj"/>
  </bean>
</beans>
public static void main(String[] args) {
    ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
    User user = (User) context.getBean("user");
    System.out.println(user);
}

springMvc

springMvc专门解决前台页面与后端数据处理之间的映射关系,是sping的web框架。
通过Dispatcher Servlet、ModelAndView和View Resolver,使得开发web应用变得容易,主要是对带页面的系统开发,URl路由、Session、模板引擎、静态资源等。

springBoot

spring配置复杂,xml文件中大量的bean定义,开发繁琐,由于微服务的兴起,统一后端框架,springBoot出现在大家面前。
springBoot提供丰富的注解,同时将Servlet容器集成到框架中,如Tomcat、Jetty等。
springBoot默认约定大于配置,设计了Starter和AutoConfiguration机制,简化配置流程,通过简单引入jar包快速局部组件集成能力,提高开发效率。
springBoot框架相对于springMvc框架,更专注于后端接口,不开发前端页面,虽然和前端解耦,但也可以做前后端一起开发,主流推崇前后端分离。
常用组件如:
spring-boot-starter:核心启动器,包含了自动配置、日志和YAML
spring-boot-starter-web:构建Web应用,使用 Tomcat 作为内嵌容器

springCoud

分布式时代,系统间需要打通、组成集群,从而具备更大的吞吐能力。将一个单体项目拆分成多个微服务,各个微服务之间打通、相互协调,从而完成全流程服务。
springCloud将多个springBoot单体应用整合、管理,组成一系列框架的有序集合。关注于微服务整合、管理的服务治理、提高丰富的组件框架,如
服务注册与发现:Eureka
服务间调用:openFeign
负载均衡:ribbon
网关:zuul/gateway
配置中心:config
断路器:hystrix
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值