一、springboot 入门

springBoot入门
程序=数据结构+算法(集合框架);程序员:创造性的生物创造一个网站创造一个app
程序=面向对象+框架;码农
程序核心:高内聚、低耦合
spring内置了tomcat jetty等运行
在这里插入图片描述
在这里插入图片描述
最核心的原理:自动装配
在这里插入图片描述
springcloud所有服务都是用Resful接口风格去调用的 Dubbo是用RPC风格调用

Eureka(由瑞卡) =zookeeper

负载均衡Ribbon = Nginx

路线
在这里插入图片描述
最开始servlet和web.xml一堆配置 ,用了spring之后只需要用一个disparservlet
一个还没火的新服务架构
在这里插入图片描述
redis、mongoDB、jpa操作数据库缓存
rabbitMQ消息队列
Quartz任务调度

第三方组件可集成配置
在这里插入图片描述
核心思想:约定大于配置
比如maven、spring、springmvc、springboot
springboot不是一个框架的事情,(mybatis只是跟数据库交互的一个框架),是着眼于整个J2EE的解决方案,他考虑到了企业级开发的各种场景,缓存、消息、检索、安全等一系列的都一站式整合进来。

springboot中文官方文档
spring中文官方文档

在这里插入图片描述
在以前我们整个j2ee的开发都是个繁琐得过程,springboot就是用来简化j2ee的开发
我们以前要创建一个spring的应用要做一个三大框架的整合,比如spring springmvc mybatis创建一个应用导一堆的jar包,或者是用maven来导一堆的依赖,接下来写一堆的配置文件,写完后开发测试业务逻辑,无论是开发还是部署 部署测试需要打war包在服务器上还得配置服务器环境,然后我们把项目放上去运行

springboot底层就是使用spring整个技术栈

spring家族:

springframework:用到ioc容器之类的
springdata:用来做数据访问
springcloud:用来做分布式
springsecurity:用来做安全权限控制
等等

springboot自动配置好spring的相关环境,对于我们用户来说只是一些少量的配置甚至零配置,我们从一个非常微小的少量入口我们就可以打开整个j2ee企业级开发的大门,springboot是一个非常伟大的框架,简化spring的开发

在这里插入图片描述
优点解析:
1、一步完成项目框架搭建
2、应用开发完直接打成jar包,用java-jar的命令就可以运行
3、如果要用web、jdbc、redis就导其相关的starters(启动器:自动的依赖管理和jar版本控制)我们所有的企业级开发场景都有相关的启动器,他帮我们导入相关的版本和依赖
4、无需过多的配置,配置可修改默认值
5、如果用springboot来开发应用不需大量的xml编写,无代码生成都是用他自己写好的api,直接创建出来就能用
6、运维期间整个应用的健康状态,每个服务的状态可以进行监控
7、——
缺点:入门容易,精通难
只有对spring底层的api非常了解我们才能深度学习springboot,但是我觉得对我们大多数程序员只是用来说应该是够了

1、Spring Boot简介

简化spring应用开发的一个框架;
整个spring技术栈的一个大整合;
J2EE开发的一站式解决方案;

2、微服务

MCV后端三层架构 MVVM前端架构 微服务架构
分布式是指分布在不同的电脑上放,这个服务一台电脑上放不下了,所以用微服务把一个服务变成一个模块放到一台电脑上

比如
业务service:userService——》微服务模块
springmvc,controller——》提供接口
HTTP只是一种通讯方式 RPC什么的也能通讯
在这里插入图片描述

2014,martin fowler
微服务:框架风格
一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;
曾经:
单体应用:ALL IN ONE(所有的东西都写在一个应用里面)
比如一些OA、CRM、ERP系统就是代码都写在一个应用里面打包成一个war包访问数据库提供给前端浏览器
优点:
开发测试简单
部署简单(war包)不会给运维带了太大的苦难
扩展简单,当我们应用负载能力不行的时候我们把相同的应用复制几十份放到十几个服务器里面都来跑这个程序,我们就通过负载均衡机制来提高并发能力
缺点:牵一发动全身,修改一下就可能要重新部署重新运行
更大的挑战是日益增长的软件需求,我们现在随便一个应用都可以要成为一个大型应用,大型应用不可能只有一个应用,该怎么维护,该怎么分工合作是一个问题
现在:
在这里插入图片描述
以前将所有的功能单元放在一个应用里面,把整个应用部署到服务器上,如果服务器负载能力不行,可以通过应用的水平复制到多个服务器上进行扩展

微服务提倡的是把每个功能元素独立出来,我们可以通过功能元素的动态组合,我们有一些功能只有在需要的时候才复制,没有复制到整个应用,节省了服务资源,每一个功能元素都是一个可独立替换和可独立升级的软件单元
我们将每一个功能单元都独立出来比如结账、购物 单元和单元之间的互调通过http互调,这样就形成了应用网
比如缓存需要连redis,比如这个功能单元需要连数据库,如果每个单元都要创建项目微化这些服务的时候,如果按照以前的方式来创建项目的话那估计创建项目服务搭建环境一个月都做不完
这个时候我们就需要使用到分布式
在这里插入图片描述
构建一个应用使用springboot,然后整个应用的大型分布式应用网通过springcloud来进行网状互联互调,分布式中需要进行一些流失数据计算批处理spring cloud data flow
使用springcloud可以快速构建一个微服务应用
告诉maven用jdk1.8来编译运行项目(反正我没加)
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无极的移动代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值