Springboot-SpringCloud学习

文章目录

    • web项目开发历史
  • SpringBoot
    • Spring以及Springboot是什么
    • 微服务+第一个Springboot项目
    • 配置如何编写 yaml
    • 自动装配原理
    • 集成 web开发(业务核心)
    • 集成 数据库 Druid
    • 分布式开发:Dubbo(RPC) + zookeeper
    • swagger:接口文档
    • 任务调度
    • SpringSecurit:Shiro
    • Linux项目部署
  • SpringCloud
    • springcloud入门
    • Restful 接口风格
    • Eureka 服务注册与发现
    • Ribbon 负载均衡
    • Feign 负载均衡
    • HyStrix 服务容灾
    • Zuul路由网关
    • SpringCloud config:git

web项目开发历史

servlet+tomcat

struts

ssm架构

Spring+SpringMVC+MyBatis
打包上线采用war包,并在tomcat上运行;

SpringBoot架构

打包上线采用jar包,且已内嵌tomcat服务;

tomcat

1. Tomcat是常见的免费的web服务器。
2. 是否使用tomcat打开html的区别:
使用:则可以通过 http://12306.com/index.html 形式打开网站;
不使用:则需要通过 file:d:/test.html  形式 打开本地网站;
3. 8080 是tomcat的默认端口号

SpringBoot

Spring以及Springboot是什么

Spring是为了解决企业级开发的复杂性而创建的,简化开发;
Spring简化开发的关键策略:

基于POJO的轻量级和最小侵入性编程;
通过IOC,依赖注入(DI)和面向接口实现松耦合;
基于切面(AOP)和惯例进行声明式编程;
通过切面和模板(Template)减少样式代码;

一些关键话语:

约定大于配置;

SpringBoot的优点:

帮助所有Spring开发者快速入门
开箱即用,提供各种默认配置来简化项目配置
内嵌容器(tomact)简化web项目
没有冗余代码生成和XML配置的要求

微服务+第一个Springboot项目

微服务:一种架构风格,将开发一个应用变成一系列小服务组合,可通过HTTP(RPC)方式互相通信。
单体应用架构,将一个应用的所有应用服务都封装在一个应用中,各个功能放在一个war包里。
微服务架构,将每个功能元素都独立出来,并将独立出来的功能元素动态组合,也就是对功能元素的复制,而不是整个应用的复制;

创建一个springboot项目
两种方式:Springboot官网版本 或者 IDEA自己创建(IDEA集成了这个网站);

  1. Springboot官网版本:
    中文文档:https://springdoc.cn/spring-boot/
    官网文档:https://spring.io/projects/spring-boot#learn
    最新版本是:3.2.2
    当前创建页面只支持以下图展示内容:
    Springboot-SpringCloud学习_第1张图片
  2. IDEA创建springboot项目
    文件 – 新建 – 项目 – Spring Initializr
    通过该方法java版本只有17和21 两种,jdk1.8 与java17不匹配,可以和java21匹配;

项目注意事项

springboot中的启动类是application,其他的类都得在该启动类的同级目录下;

配置如何编写 yaml

自动装配原理

集成 web开发(业务核心)

集成 数据库 Druid

分布式开发:Dubbo(RPC) + zookeeper

swagger:接口文档

任务调度

SpringSecurit:Shiro

本质上是:拦截器与过滤器就可以实现安全功能;

Linux项目部署

SpringCloud

分布式开发,两套实现:
Dubbo + zookeeper 以及 Restful + Eureka

springcloud入门

Restful 接口风格

Eureka 服务注册与发现

Ribbon 负载均衡

与Liunx中的nignx类似;

Feign 负载均衡

HyStrix 服务容灾

Zuul路由网关

SpringCloud config:git

你可能感兴趣的:(java学习,spring,spring,boot,spring,cloud)