springcloud环境搭建

【SpringCloud】(一文通)SpringCloud 环境和工程搭建 SpringCloud 前言 阅读详情

今天来到SpringCloud的学习,我们从spring boot微服务阶段,学习到了用springboot去创建很多的微服务,但是这么多微服务我们如果去管理,以及相互之间的联系呢?

而到了我们学习springcloud阶段,其实相对而言是变简单的,不需要写很多代码以及什么操作,主要就是接收思想,了解其中的机制,而springCloud项目基于springboot项目,只需要几行简单的配置即可开始使用;

那来到了我们最熟悉的官网:Spring | Home

进入spring cloud的学习,可以去读读这里的话,我读懂了,不告诉你

从springcloud的学习,我们可以看这张图,我们学习这里面几个部分

Rest环境搭建

环境说明:jdk1.8,idea2019,maven3.6.X,springcloud最新版2021.0.3,mybatis-plus

我们首先搭建一个父工程项目,创建一个空的普通的maven项目,我们直接把src目录删除掉,pom文件写下面的使用父工程管理依赖,这里都是与文章日期最新依赖。

<properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <maven.compiler.source>1.8</maven.compiler.source>    <maven.compiler.target>1.8</maven.compiler.target>    <junit.version>4.12</junit.version>    <log4j.version>1.2.17</log4j.version>    <lombok.version>1.18.24</lombok.version>    <springcloud-version>2021.0.3</springcloud-version></properties><dependencyManagement>    <dependencies>        <dependency>            <!--springcloud依赖-->            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-dependencies</artifactId>            <version>${springcloud-version}</version>            <type>pom</type>            <scope>import</scope>        </dependency>        <!-- springboot依赖-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-dependencies</artifactId>            <version>2.7.0</version>            <type>pom</type>            <scope>import</scope>        </dependency>        <!--mysql驱动-->        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>8.0.28</version>        </dependency>        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>druid</artifactId>            <version>1.2.11</version>        </dependency>        <dependency>            <groupId>com.baomidou</groupId>            <artifactId>mybatis-plus-boot-starter</artifactId>            <version>3.0.5</version>        </dependency>        <!--日志测试-->        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-core</artifactId>            <version>1.2.3</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>${junit.version}</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>            <version>${log4j.version}</version>        </dependency>        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <version>${lombok.version}</version>        </dependency>    </dependencies></dependencyManagement><build>    <!--父工程的项目名称-->    <finalName>springcloud</finalName>    <resources>        <resource>            <directory>src/main/resources</directory>            <filtering>true</filtering>        </resource>    </resources>    <plugins>        <plugin>            <groupId>org.apache.maven.plugins</groupId>            <artifactId>maven-resources-plugin</artifactId>            <configuration>                <!--以$开头结尾 符合在src/main/resources路径下面访问到 主要是yml文件或者properties文件-->                <delimiters>                    <delimit>$</delimit>                </delimiters>            </configuration>        </plugin>    </plugins></build>

有了父工程项目,我们再准备一个数据库环境,写一个api类,这里我们新建一个简单的账户表,往里面插入几条简单的数据

DROP TABLE IF EXISTS `account`;CREATE TABLE `account` (  `account_id` int(11) NOT NULL,  `account_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,  `account_pwd` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,  PRIMARY KEY (`account_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;-- ------------------------------ Records of account-- ----------------------------INSERT INTO `account` VALUES ('1', 'zhangsan', '333');INSERT INTO `account` VALUES ('2', 'lisi', '444');INSERT INTO `account` VALUES ('3', 'wangwu', '555');INSERT INTO `account` VALUES ('4', 'zhangliu', '666');INSERT INTO `account` VALUES ('5', 'qiqi', '777');INSERT INTO `account` VALUES ('6', 'baba', '888');

新建一个maven普通项目起名叫springcloud-api,里面呢,放一个这样的实体类,与表的关系对应起来的一个简单对象,使用了lombok,这里大家可以自行去了解

1、导入依赖

<dependency>    <groupId>org.projectlombok</groupId>    <artifactId>lombok</artifactId></dependency>

我们可以看到这里如果正确会有一个小圆圈,如果你这里没有,那就要检查下父工程依赖了

2、编写配置,这里没有什么配置,所以就是滤过

3、编写对应代码

provider-服务端提供者

再新建一个maven普通项目模块,我们做服务的提供者

1、导入依赖

<dependencies>    <dependency>        <groupId>com.xuexi</groupId>        <artifactId>springcloud-api</artifactId>        <version>1.0-SNAPSHOT</version>    </dependency>    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>    </dependency>    <dependency>        <groupId>com.alibaba</groupId>        <artifactId>druid</artifactId>    </dependency>    <dependency>        <groupId>ch.qos.logback</groupId>        <artifactId>logback-core</artifactId>    </dependency>    <dependency>        <groupId>com.baomidou</groupId>        <artifactId>mybatis-plus-boot-starter</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-test</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-devtools</artifactId>    </dependency></dependencies>

2、编写配置

新建一个application.yml文件,内容如下:

server:  port: 8001spring:  application:    name: springcloud-provider-account  datasource:    driverClassName: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://localhost:3306/lianxi?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=utf-8    username: root    password:     type: com.alibaba.druid.pool.DruidDataSource  #使用阿里的数据源# mybatis-plus配置日志mybatis-plus:  configuration:    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  type-aliases-package: com.xuexi.pojo  mapper-locations: classpath:mapper/*.xml  global-config:    db-config:      table-underline: true  #实体类驼峰转下划线,默认就是

3、编写代码,服务提供者我们只需要编写dao层和service层,这里使用了mybaits-plus所以比较简单,直接给大家截图

dao层

service层

这里我们可以编写一个controller进行下测试

@RestControllerpublic class AccountController {    @Autowired    AccountService accountService;    @PostMapping("/account/add")    public boolean addAccount(Account account){        return accountService.save(account);    }    @GetMapping("/account/get/{id}")    public Account get(@PathVariable("id") long id){        return accountService.getById(id);    }    @GetMapping("/account/list")    public List<Account> getAll(){        return accountService.list(null);    }}

测试成功

consumer-消费者

同样的我们再建一个普通的maven子工程项目,我们进行服务的消费

1、导入依赖

<dependencies>    <dependency>        <groupId>com.xuexi</groupId>        <artifactId>springcloud-api</artifactId>        <version>1.0-SNAPSHOT</version>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-devtools</artifactId>    </dependency></dependencies>

2、编写配置

新建一个application.yml

server:  port: 80

3、编写代码

代码编写前,我们认识一个东西,就是我们的标题,REST这个东西,这里我觉得你学到这里应该很容易理解,所以我觉得还是先上代码吧

首先编写一个config配置类,我们把RestTemplate这个对象接管到spring容器中

@Configurationpublic class BeanConfig {    @Bean    public RestTemplate getRestTemplate(){        return new RestTemplate();    }}

接着编写我们的消费代码,ConsumerController

@RestControllerpublic class ConsumerController {    private static final String REST_URL_PREFIX = "http://localhost:8001";    @Autowired    RestTemplate restTemplate;    @PostMapping("/cousumer/add")    public boolean addAccount(Account account) {        return restTemplate.postForObject(REST_URL_PREFIX+"/account/add",account,boolean.class);    }    @GetMapping("/cousumer/get/{id}")    public Account get(@PathVariable("id") long id) {        return restTemplate.getForObject(REST_URL_PREFIX+"/account/get/"+id,Account.class);    }    @GetMapping("/cousumer/list")    public List<Account> getAll() {        return restTemplate.getForObject(REST_URL_PREFIX+"/account/list",List.class);    }}

上面我都没有给大家说编写springboot启动类,别到这里还没启动呀,每一个项目下面,编写一个这样的启动类

@SpringBootApplicationpublic class Consumer_80 {    public static void main(String[] args) {        SpringApplication.run(Consumer_80.class,args);    }}

我们启动下消费方,看下是否可以远程调用服务方服务,测试成功,远程调用了我们的服务消费掉

其实我们都学过网络请求,RestTemplate其实就是封装好的一个请求对象,然后可以通过get|post|delete|put请求,里面也没有多少方法,点以下就都出来了,这么简单,很容易看懂并学会吧!

其实就像前后段分离,发送异步请求,通过不断地请求服务,然后去实现功能,一种直连的方式,对地址和端口请求服务

但是我们可以发现,这样是有缺点的,比如provider宕机了,consumer请求是请求不到了的,而且也不能做一些检测,负载均衡,轮询等方式;那我们接着学习再加一层

从零搭建SpringCloud! 搭建JDK17、Spring Boot3.4、以及Spring Cloud2024.0.0版本的Springcloud 阅读详情

相关推荐

手把手教你搭建一个简单的 springcloud 项目

一、介绍springcloud 谷歌下更健康~ 二、搭建步骤 1、创建一个maven项目 (1)打开idea,File —> New project —>Maven (2)根据自己的设置,填写下面信息,next (3)这里填好相关路径后,可以选择性添加archetypeCatalog=internal,作用是直接从本地获取项目骨架 建好后的目录如下: ...

weixin_41954142的博客 9437

spring cloud搭建教程

Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的微服务:就是把一个单体项目,拆分为多个微服务,每个微服务可以独立技术选型,独立开发,独立部署,独立运维.并且多个服务相互协调,相互配合,最终完成用户的价值. Spring Cloud是一系列框架的有序集合。其主要的设施有,服务发现与注册,配置中心,消息总线,负载均衡,断路器,数据监控等,通过Spring Boot的方式,可以实现一键启动,和部署。

ANGEL CITY 5万+

SpringCloud(1)--入门、版本、环境搭建

SpringCloud 入门 文章目录SpringCloud 入门版本的选择部分组件停用环境搭建父工程创建支付模块创建Module业务类订单模块创建Module业务类重构 系列链接: … 版本的选择 查看SpringCloud和SpringBoot之间版本的依赖关系: https://spring.io/projects/spring-cloud#overview https://start.spring.io/actuator/info,返回详细json信息 部分组件停用 首先连接下各个组件:

MOKE_SPACE 6338

手把手教你搭建SpringCloud项目(一)图文详解

手把手教你搭建SpringCloud项目(一)图文详解

zhaoshuangjian 6471

SpringCloud基础环境搭建指南

SpringCloud作为一套微服务解决方案,它整合了众多的开源项目,为微服务的构建提供了全套工具。搭建SpringCloud环境是微服务实践的第一步,接下来将介绍如何搭建一个基础的SpringCloud环境。Ribbon支持通过配置文件定义负载均衡规则,以适应不同的业务场景和需求。默认情况下,Ribbon使用轮询策略,但可以通过修改配置文件来指定其他策略。例如,要使用随机策略,可以在Ribbon客户端的配置文件中添加如下配置:其中,

weixin_35750483的博客 995

2006NOIP普及组真题 4. 数列

从上述推理中,我们发现要输出的幂次和中的第 N 项(也就是幂次和中的序号N),对应的二进制位数和幂次和对应的二进制位数相同。当 k=3 时,k的幂次为1, 3, 9, 27, 81…,即第0位,第2位均为1,转成 k 进制(k=3)时。,即第2位,第3位均为1,转成 k 进制(k=3)时。转成 k 进制(k=3)时的幂次和为。,即第0位,第1位,第2位均为1,(即第0位,第1位,第2位均为1)N=12时,12的二进制是。(即第0位,第2位均为1)(即第2位,第3位均为1)结论:这道题就变成了。

weixin_40252159的博客 1513

SpringCloud环境搭建

SpringCloud环境搭建SpringBoot+SpringCloud技术选型SpringBoot官网SpringCloud官网SpringBoot+SpringCloud版本依赖本次选型如下图Cloud组件停更及替换父工程空间新建工程设置编码设置注解激活生效Java编译版本选择File Type过滤(可选步骤,根据个人习惯来)父工程POM文件 SpringBoot+SpringCloud技术选型 SpringBoot官网 github版本发布 github版本发布说明 SpringBoot官网​​

qq_41597232的博客 1176

M2DGR数据集在一些SLAM框架上的配置与运行:ORB-SLAM系列、VINS-Mono、LOAM系列、FAST-LIO系列、hdl_graph_slam

为了说明以上这些SLAM框架的测试与数据集适配,以M2DGR数据集为例进行各自的配置与运行,方便我以后适配自己的数据集,运行的SLAM框架包括:ORB-SLAM2、ORB-SLAM3、VINS-Mono、A-LOAM、LeGO-LOAM、LIO-SAM、LVI-SAM、FAST-LIO2、FAST-LIVO、Faster-LIO、hdl_graph_slam。实验基于Ubuntu20.04,其中ORB、VINS-Mono、和LOAM系列的安装参考我以前的博客,有详细的安装方法,其他的框架在后面会简单介绍一下

zardforever123的博客 1万+

【SpringCloud】Spring Cloud 开发环境搭建与基础工程构建

Oracle从JDK9开始每半年发布⼀个新版本, 新版本发布后, ⽼版本就不再进⾏维护. 但是会有⼏个⻓期维护的版本.⽬前⻓期维护的版本有: JDK8, JDK11, JDK17, JDK21在 JDK版本的选择上,尽量选择⻓期维护的版本.为什么选择JDK17?

Hsusan的博客 2622

100道测试工程师笔试的Linux笔试题及答案_网络安全工程师关于linux的笔试大题

47.Linux系统中,一般把命令 ls 定义为 ls --color 的别名,以便以不同颜色来标识不同类型的文件。但是,如何能够使用原先的ls命令?83.在xdm的配置目录中,哪个文件用来设置在用户通过xdm登录后自动起动的应用程序?45.你的系统使用增量备份策略,当需要恢复系统时,你需要按什么顺序恢复备份数据?84.命令 netstat -a 停了很长时间没有响应,这可能是哪里的问题?51.Linux中,提供TCP/IP包过滤功能的软件叫什么?88.TCP/IP中,哪个协议是用来进行IP自动分配的?

2401_84247760的博客 1053

视觉SLAM十四讲--第13讲 实践:设计SLAM系统(最详细的代码调试运行步骤)

最详细的代码调试运行避坑说明,也包含了我自己对代码的理解,如有理解错误的地方,欢迎指正交流。

记录和分享 1万+

SpringCloud——环境搭建

SpringCloud——环境搭建

weixin_74019079的博客 2017

【学习系列】SAP RAP 20:Unmanaged场景开发示例-调用BAPI、BAPI包装类、BO接口创建标准采购订单

本文介绍了在SAP RAP(Restful ABAP Programming)框架下,通过三种方式实现采购订单创建的方案。首先分析了RAP框架对传统BAPI调用的限制,特别是禁止显式COMMIT语句的要求。随后详细阐述了三种实现方式:1)直接调用传统BAPI(仅支持OP环境);2)使用BAPI包装类(仅支持OP环境);3)调用标准业务对象接口(支持所有环境)。 文章重点说明了在unmanaged场景下的技术实现细节,包括字段控制、缓冲区管理、测试运行与实际调用的分离处理等。针对每种方式都提供了完整的实施步骤

DeveloperMrMeng的博客 597

SpringCloud之微服务环境搭建

微服务架构,简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独 立运行的项目。

qq_65345936的博客 1523

Transformer 时间序列预测实战

Transformer 时间序列预测实战

机器学习深度学习业余选手 743

DevExpress中使用BandGridView实现复合(多行)表头、设置多行表头背景颜色、表格边框颜色

一、实现效果 二、 实现方法 2.1、创建复合表头 ①将创建的GridControl下的GirdView1转化为BandGridView类型; ②创建需要展示的列(指定列的名称【Name】、描述【caption】、数据字段名称【FieldName】) ③绑定列实现复合表头。 注意:如果复合表头有多行,则需要设置新增Band的Row Count,然后设置【Band properties下的AutoFillDown=false】 详细操作如下: 注意:如果要隐藏表格的设计字段内容,则需.

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 2893

最全springcloud环境搭建

过程虽然有点长 但是耐心的按照我的步骤来 你一定会搭建出来一个稳定的springcloud架构 。。。。。 前言是对网站架构演变的相关介绍 。。已经了解的猿友们可以直接跳过 如有不懂的地方 可在下方评论 或者加我微信 xsddx713我会尽所能为其解答。。。加油骚年们。。。。 网站架构的演变过程 架构演变过程 1.1 传统架构 传统的SSH架构,分为三层架构 web控制层、业务逻辑层...

weixin_41631245的博客 951

SCADA|RESTful学习,Apipost通过GET获取KingSCADA实时数据

本文介绍了如何使用RESTful实现SCADA与MES系统对接。主要包括:1)对比RESTful与其他协议的性能指标;2)KingSCADA作为Server/Client的三种应用场景;3)详细演示KingSCADA3.8作为Server端的配置过程,包括端口设置和API测试。通过Apipost工具测试获取变量值及数据回写接口,其中数据回写需使用MD5加密密码。文章最后指出回写测试失败的情况,但未分析具体原因。全文以实际工程应用为导向,提供了具体操作步骤和技术细节。

做有价值的事,积累有价值的笔记! 621

SpringCloud概述和环境搭建

SpringCloud概述和环境搭建

wk200411的博客 1053

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【SpringCloud环境搭建】SpringCloud环境搭建jdk、mysql、Nacos、Seata、redis、nginx

SpringCloud环境搭建:jdk、mysql、nacos、seata、redis、nginx

qq_38178433的博客 3092

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

快速搭建SpringCloud环境

前言:在我上篇博客中,详细介绍了,Spring Cloud的一些概念和组件,如果你是新手,建议你可以先去看看: https://blog.csdn.net/weixin_44209403/article/details/103493907 ...

JAVA-XH 904

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringCloud学习之环境搭建

SpringCloud 介绍 ​ Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等...

符忻潼 189

一、初始搭建SpringCloud项目环境

一、SpringBoot和SpringCloud 1、SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 简单来说,SpringBoot是一个基于Spring框架之上的开源框架,是Spring.

m0_38075227的博客 602

Spring Cloud Alibaba环境搭建

Spring Cloud Alibaba是目前主流的分布式微服务架构,本文主要讲解了在IDEA中如何搭建Spring Cloud Alibaba环境,以及介绍Spring Cloud Alibaba各个版本之间的关系和搭建Spring Cloud前的准备工作。

少年小子的博客 1217

SpringCloud搭建环境demo

文章目录SpringCloud搭建环境demo1.新建父工程2.搭建Eureka服务端:注册中心3.搭建Eureka客户端:服务注册3.1 实现步骤3.2 编写服务逻辑4.搭建Gateway网关4.1 添加依赖4.2 编写启动类4.3 编写配置4.4 启动测试5.前端Vue SpringCloud搭建环境demo 1.新建父工程 在实际项目中如果存在多个子工程,都会先创建一个父工程,然后后续的工程都以这个工程为父,实现maven的聚合。 配置pom.xml: <?xml version="1.0" e

weixin_42914989的博客 560
上一篇: ThreadPoolExecutor 源码分析
下一篇: 如何理解springboot的自动注入
Java_ttcd
博客等级 码龄4年 198粉丝 190原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值