Springboot-SpringCloud学习

news2024/9/20 6:06:14

文章目录

    • 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
    当前创建页面只支持以下图展示内容:
    在这里插入图片描述
  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1422239.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费的ppt网站分享

前言 相信大学生们深有体会,对于学校而言,好像是任何活动都需要我们做ppt,当你拿着自己辛苦做的ppt去展示现场的时候,你看到别人的ppt比你的还好,此时心情就是毙,当你知道人家不过是仅仅的1个小时不到就完成…

Springboot集成Javamelody

JavaMelody的目标是监视QA和生产环境中的Java或Java EE应用服务器。它不是模拟用户请求的工具,而是根据用户对应用程序的使用情况来衡量和计算应用程序实际操作的统计信息的工具。JavaMelody主要基于请求统计和演化图。 它允许改进QA和生产中的应用程序&#xff0c…

海外云手机对于亚马逊卖家的作用

近年来,海外云手机作为一种新型模式迅速崭露头角,成为专业的出海SaaS平台软件。海外云手机在云端运行和存储数据,通过网页端操作,将手机芯片放置在机房,通过网络连接到服务器,为用户提供便捷的上网功能。因…

WebService的services.xml问题

WebService有多种实现方式,这里使用的是axis2 问题: 在本地开发,访问本地的http://localhost:8080/services/ims?wsdl,正常访问 但是打成jar包,不管是linux还是window启动,都访问不到,报错…

双创竞赛项目申报:Java + Spring Boot的实战指南

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

2024前端面试总结—JS篇(文档持续更新中。。。)

1、Event Loop(事件循环)机制 JS是单线程的非阻塞语言 为什么是单线程(如果js是多线程,那么两个线程同时对同一个Dom进行操作,一个增一个删,浏览器该如何执行?) 非阻塞(…

如何线上发布寒假作业,让学生在线确认签收?

老师们可以利用易查分制作一个寒假作业查询系统,在线发布学生的寒假作业,让学生本人在线上获取寒假作业;如果希望由学生本人进行签收,还可通过手写签名功能来进行确认,确保由学生本人收到寒假作业。 📌使用…

Java项目要不要部署在Docker里?

部署Java项目有很多种方式,传统的方式是直接在物理机或虚拟机上部署应用,但为什么现在容器化部署变得越来越流行, 个人觉得原因有以下几个: 1、 环境一致性:使用Docker可以确保开发、测试和生产环境的一致性&#xff…

管理的四种风格

前言 管理的四种风格,一般的领导大概就是这几种管理模式,告知,辅导,参与,授权,还有就是乱搞式(神经病模式)。 一、告知式 告知式是指组织通过正式、明确的渠道,将信息传达给员工。这种方式通常用于传递基本的规章制度、工作流程、政策文件等。告知式的作用在于确保员…

Yalmip学习笔记

这里写自定义目录标题 基本用法变量定义关于大MBilevel programming 注:这篇文章主要是留给自己查漏补缺的,所以从来没有使用过yalmip的读者看着会觉得跳来跳去。 基本用法 建模开始前,使用yalmip(clear)清空Yalmip的内部数据库。 下面是一个…

Win10+wsl2+mmdetection3d(GPU)

2024部署mmdetection3d在win10wsl2 实现过程安装wsl2安装docker与VSCode插件连接其他问题 实现过程 安装WSL2 踩坑点: 基于发行版安装,无法更新wsl1,查证了当前的wi10的驱动是满足要求的,但是无法更新。所以一定要先去更新驱动&…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson13(买东西)(餐厅点餐事宜;询问有无座位;食物如何调理:牛排、咖啡等;菜单等相关)

《美语从头学初级入门篇》 注意:被 删除线 划掉的不一定不正确,只是不是标准答案。 文章目录 Lesson 13 At the Restaurant 在餐厅会话A会话B笔记餐厅询问有无座位;餐厅电话订座其他餐厅询问有无座位的问法 吸烟区与非吸烟区(smo…

序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类+IO流知识回顾④】

序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类IO流知识回顾④】 序列化流序列化和反序列化如何实现序列化ObjectOutputStreamObjectInputStream 序列化流 什么是序列化?如何实现序列化?什么是反序列化?需要了解的类…

蓝桥杯嵌入式——省赛模板构建

新建一个省赛模板文件夹,在里面存放上源工程和目标工程 打开STM32CubeMX新建工程 选择芯片为STM32G431RBT6 CubeMX配置时钟系统 NVIC中断优先级分组为组4 RCC的高速时钟配置为晶振

【AI视野·今日Robot 机器人论文速览 第七十七期】Mon, 15 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Mon, 15 Jan 2024 Totally 14 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Learning Joint Space Reference Manifold for Reliable Physical Assistance Authors Amirreza Razmjoo, Tilen Brecelj, Kri…

SpringClound项目相关

nacos本机模式非虚拟机启动也可正常连接 nacos中的配置中心相当于在application.yml中的相关配置,转移位置,内容同application.yml完全一样均可。 黑马项目导入后,依赖缺失: 首先尝试maven重新加载,控制台提示传递依…

高精度加法模板,包装结构体

本题链接:用户登录 题目: 样例: 输入 123 456 输出 579 模板结构体: struct BigInt {string values;inline BigInt Add(const BigInt &ta,const BigInt &tb){BigInt ans;ans.values "";string sa ta.values…

ETL怎么实现文件处理

在现代企业及各类组织的日常运作中,数据作为一种关键的信息资源,其管理和分析能力直接影响到决策效率与准确性。文件作为数据的主要载体,承载着从运营报告、客户记录、交易明细等各种类型的数据信息。这些海量且多样的文件数据在未经处理的情…

道理都懂,就是做不到,怎么办?

世界上最遥远的距离是什么? 我想,对许多人来说,多半是「知」与「行」之间的距离。 想一想,你有多少次发出感叹:这些我都知道,但我就是做不到,怎么办呢? 有多少次,你反复告…

matlab自定义函数实现图像小波变换

matlab中提供了小波变换函数lwt和ilwt,可以方便地实现提升小波变换。 我们按照小波变换的定义,粗糙地实现一个针对图像的小波变换,如下: % 使用方法: img imread(lena256.bmp); % 假设lena.png是灰度图像 subplot(2…