下载安装并配置git

为自己的git设置名字

git config --global user.name "XXX"

配置自己注册码云的邮箱

git config --global user.email "XXX@163.com"

生成ssh公钥

ssh-keygen -t rsa -C "XXX@163.com"

查看公钥

cat ~/.ssh/id_rsa.pub

复制公钥添加到码云
点击ssh公钥 设置标题,将复制好的公钥添加到公钥内,确定,输入登录密码验证

添加好以后在控制台输入

ssh -T git@gitee.com
//输入yes
//控制台会输出已成功添加验证( You've successfully authenticated)

利用码云生成项目

点击头像左侧的+号,新建仓库
设置仓库名称
选择语言
添加.gitignore 选择 Maven
添加开源许可证
选择分支模型

创建成功后,点击克隆,复制链接

打开idea 点击file 选择项目来自版本控制

一路yes finish

利用idea找到项目保存的位置,打开,则利用码云构建项目完成

构建springboot微服务

在打开的项目基础上,正常创建springboot项目


勾选必要的依赖,因为微服务之间需要互相调用,此处利用Spring Cloud Routing 的OpenFeign实现


他微服务模块以此创建就可以了,示例我创建了两个模块

怎么将这两个模块,关联到整个项目内呢?
复制一个pom.xml放到总项目目录内

修改pom.xml

修改
<artifactId>test</artifactId>
<name>test</name>
设置 <packaging>pom</packaging> 为pom类型
利用<modules>聚合各个小项目
<modules>
<module>demo</module>
<module>demo1</module>
</modules>

如下

接着点击idea右侧Maven,点击+号,导入该聚合项目的pom文件

显示总项目Maven,标明为root的文件

测试 root 文件的clean 观察其他子项目是否clean

提交到码云

修改.gitignore,去掉无用的文件,防止提交非代码文件

点击版本控制,Add to VCS 将项目纳入版本控制

我们最终的代码是要提交到码云的,所以要给idea配置码云
点击file -->setting–>plugins下载码云插件gitee

在版本控制,右键点击commit files

输入commit message,点击commit and push 提交到码云

如果是初次提交到码云,会提示输入用户名和密码,就是你注册码云的用户名和密码
查看码云,显示提交成功。查看我们配置的.gitignore,你会发现被注释掉的文件并没有上传到码云

为所有的微服务模块统一添加配置文件

随便创建一个maven项目,直接next就可以

如下我创建了一个father项目作为所有微服务项目公有的依赖和工具类
然后将father当成依赖,添加到所有微服务pom文件

Nacos服务发现

直接引入依赖

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

配置nacos服务发现

Nacos配置中心

Nacos配置中心

注意是在应用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元数据

其次在Nacos新建配置页面,Data ID 命名规则必须是你在bootstrap.properties文件定义的 spring.application.name.properties 设置成其他的不好使

在配置命名空间时,注意在bootstrap.properties中配置spring.cloud.nacos.config.namespace=命名空间ID (不是命名空间名称)

配置中心示例,优先扫描配置中心的配置信息,配置中心没有的会默认扫描自定义的配置信息

spring.application.name=demo
spring.cloud.nacos.config.server-addr=127.0.0.1:8848 #nacos命名空间
spring.cloud.nacos.config.namespace=0c9dffe2-d167-432d-86ee-cf0d06e0e1ec #nacos加载多个配置文件
spring.cloud.nacos.config.ext-config[0].data-id=datasource.properties
#自动刷新
spring.cloud.nacos.config.ext-config[0].refresh=true
#分组
spring.cloud.nacos.config.ext-config[0].group=dev #nacos加载多个配置文件
spring.cloud.nacos.config.ext-config[1].data-id=mybatis.properties
#自动刷新
spring.cloud.nacos.config.ext-config[1].refresh=true
#分组
spring.cloud.nacos.config.ext-config[1].group=dev

实现远程调用

实现远程调用主要用到了springcloud中的openFeign,在之前创建模块项目的时候已经勾选好了

首先在调用者controller同级目录创建一个包,表示该包下的接口都是需要远程调用的

其次在该包下创建接口,用@FeignClient(“demo”)声明该接口为一个需要需要远程调用的接口,其中demo为nacos中被调用者微服务注册的名字

然后将被调用者controller层需要远程调用的方法体以及完整的@RequestMapping("/coupon/queryList")路径,复制到调用者声明为@FeignClient(“demo”)的接口

在调用者的controller层注入该fegin包下的接口

 	@Autowired
private FeignService feignService; @RequestMapping("/queryList")
public List<Integer> queryList(){
List<Integer> list = feignService.queryList();
return list;
}

在调用者启动类上添加注解,让他去扫描feign包,搜索被注解为@FeignClient()的接口

@EnableFeignClients(basePackages = "com.atguigu.gulimail.member.feign")

启动nacos ,启动调用者和被调用者,观察nacos的服务列表,观察是否被注册进来

然后测试请求调用者的接口,观察数据有没有被请求出来

SpringBoot创建微服务项目的更多相关文章

  1. springboot+springcloud微服务项目全套资料(笔记+源码+代码)

    最近好几天没有写博客了,由于时间的太忙了,项目要做.各种资格证要考试,实在没有时间写了,今天正好赶上有闲暇的一刻,应许多的爱好者的要求发一份微服务项目的资料,此资料十分完整,且是最新的.希望各位读者能 ...

  2. 创建微服务项目后,在谷歌、Safari等浏览器下无法访问的具体原因

    使用SpringBoot开发了一个项目,端口随机给指定了一个,如6666. 可是奇葩的现象出现了,当在谷歌浏览器地址栏中输入localhost:6666访问的时候,提示无法访问. 检查良久,发现代码也 ...

  3. springboot启动微服务项目时,启动后没有端口号信息,也访问不了

    2018-06-05 13:43:42.282 [localhost-startStop-1] DEBUG org.apache.catalina.core.ContainerBase - Add c ...

  4. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_16-CMS前端工程创建-导入系统管理前端工程

    提供了基于脚手架封装好的前端工程 H:\BaiDu\黑马传智JavaEE57期 2019最新基础+就业+在职加薪\阶段5 3.微服务项目[学成在线]·\day02 CMS前端开发\资料\xc-ui-p ...

  5. 创建Spring Boot微服务项目

    创建一个测试用的微服务项目HelloWorld 创建项目 编写服务代码 @RestController public class HelloWorld { @RequestMapping(" ...

  6. springboot的maven多模块项目架构微服务搭建——依赖方式的多模块演化为微服务项目

    在上一篇依赖方式多模块的基础上对项目进行改造.主要改造user-service项目,service要配置mapper.mybatis及数据库相关的东西,后面的接口消费方user就不再需要了 注意:以下 ...

  7. 使用DockerCompose部署微服务项目(基于Springboot搭建一个简易计数器)

    准备Dockerfile FROM java:8 #基于jdk8的环境 COPY *.jar /app.jar #拷贝所有的jar包到/app.jar目录下 CMD ["--server.p ...

  8. SpringCloud(1)---基于RestTemplate微服务项目案例

    基于RestTemplate微服务项目 在写SpringCloud搭建微服务之前,我想先搭建一个不通过springcloud只通过SpringBoot和Mybatis进行模块之间额通讯.然后在此基础上 ...

  9. 微服务项目开发学成在线_day02 CMS前端开发

    1 Vue.js与Webpack研究 开发版的浏览器:https://www.google.cn/intl/zh-CN/chrome/dev/ 前端的开发框架:微服务项目开发学成在线_Vue.js与W ...

  10. SpringCloud微服务项目实战 - API网关Gateway详解实现

    前面讲过zuul的网关实现,那为什么今天又要讲Spring Cloud Gateway呢?原因很简单.就是Spring Cloud已经放弃Netflix Zuul了.现在Spring Cloud中引用 ...

随机推荐

  1. 2024 暑假友谊赛 1 (7.13)zhaosang

    A-A https://vjudge.net/contest/638765#problem/A 一开始贪心做不出来,后面发现是dp找到转移方程即可,01dp问题 代码如下 #include <b ...

  2. 【教程】运行所选代码生成器时出错:“无法解析依赖项。"EntityFramework 6.4.4" 与 ' EntityFramework.zh-Hans 6.2.0 约束:EntityFramework(=6.2.0)'不兼容。"

    添加包含视图的控制器 执行以上添加"包含视图的MVC5控制器(使用Entity Framework)时报错 解决方案 在解决方案资源管理器中找到packages.config 注释掉Enti ...

  3. macOS 常用键盘快捷键

    macOS 常用键盘快捷键大全 - 最值得你记住的 Mac 常用快捷键组合 Pertim 与 Windows 的差异 一切开始前,我们先来认识一下苹果 Mac 键盘上几个陌生的按键,比如 ⌘ (Com ...

  4. 读论文《Distilling the Knowledge in a Neural Network》——蒸馏网络 —— 蒸馏算法 —— 知识蒸馏 中的温度系数到底怎么用, temperature怎么用?

    论文地址: https://arxiv.org/pdf/1503.02531.pdf 蒸馏网络的重要公式: 其中,\(p^g\)为Teacher网络,\(q\)为Student网络. 个体神经网络(C ...

  5. NVRM: Xid (PCI:0000:b1:00): 13, pid=1375637, Graphics SM Global Exception on (GPC 0, TPC 1, SM 1): Multiple Warp Errors

    显卡服务器中一个显卡崩溃了: May 16 05:38:58 dell kernel: [14244871.006970] NVRM: Xid (PCI:0000:b1:00): 13, pid=13 ...

  6. Linux下文件及文件夹权限(学习笔记版)

    本文遵循CC 4.0 BY-SA版权协议 注意:本文为学习笔记版,只记录个人觉得重要的部分,内容较为片面. Linux 下文件及文件夹的权限可以表示为rwx这三个字符,r代表read,w代表write ...

  7. 图表全能王(ChartStudio) 上架VisionPro!

    图表全能王(ChartStudio) - 终极图表制作工具!支持条形图.折线图.面积图.柱形图.条形图.饼图.玫瑰图.雷达图.牛肉图.风琴图.旭日图.桑基图等图表. https://apps.appl ...

  8. 介绍一款新奇的开源操作系统:GodoOS

    在快节奏的现代办公环境中,一款高效.集成化的操作系统无疑是提升工作效率的利器.今天,我们要为您隆重介绍 --GodoOS,一款专为内网办公环境设计的全能操作系统.它不仅仅是一个工具,更是您团队协作与文 ...

  9. div构建table

    1.Css display值与解释-(详细可见CSS手册的CSS display手册)参数:block :块对象的默认值.用该值为对象之后添加新行none :隐藏对象.与visibility属性的hi ...

  10. CORDIC算法解释及FPGA实现(圆坐标系)

    CORDIC算法解释及Verilog仿真(圆坐标系) CORDIC算法原理阐述 CORDIC(Coordinate Rotation Digital Computer)算法,即坐标旋转数字计算方法,是 ...