• 微服务开发步骤(nacos)


    在这里插入图片描述
    其他的module中引入了mall-common模块
    每个Module分别连接着一个数据库

    1.开启nacos服务

    在这里插入图片描述

    2.在mall-commom中引入依赖

    <!--1.第一步:服务的注册发现-->
    <dependency>
    	<groupId>com.alibaba.cloud</groupId>
    	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.在服务中(非common模块)的application.yml文件中配置nacos的地址

    spring:
      #配置Nacos Server地址并且要写application.name
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848
      application:
        name: mall-member
        #其他的服务分别配置name: mall-coupon、mall-member、mall-order、mall-product、mall-ware
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4.在给个Module中的启动类上配置注解@EnableDiscoveryClient

    @SpringBootApplication
    @EnableDiscoveryClient
    public class MallMemberApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(MallMemberApplication.class, args);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    通过以上步骤就可以在nacos看到注册进去的模块

    在这里插入图片描述

    ========================================================================
    接下来就要使用远程调用用来从一个服务调用另一个服务中的方法:Fegin声明式远程调用
    说明:mall-member服务想要调用mall-coupon服务,那就在mall-member服务中加东西

    5.在mall-member的pom.xml问价中引入依赖

    <dependency>
    	 <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-starter-openfeign</artifactId>
     </dependency>
    
    • 1
    • 2
    • 3
    • 4

    6.在mall-coupon中写一个方法准备让mall-member调用

    @RequestMapping("/member/list")
    public R membercoupons() {
        CouponEntity couponEntity = new CouponEntity();
        couponEntity.setCouponName("满100减10");
        return R.ok().put("coupons", Arrays.asList(couponEntity));
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    7.编写一个接口,告诉SpringCloud这个接口需要调用远程服务

    在mall-member模块中写一个接口

    @FeignClient("mall-coupon") //调用的服务名
    public interface CouponFeginService {
    
    	//用哪个接口写哪个
        @RequestMapping("/coupon/coupon/member/list") //这里写的是在mall-coupon中接口的完整请求路径
        public R membercoupons();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    8.开启远程调用的功能

    在这里插入图片描述

    @EnableFeignClients(basePackages = {"com.eternal.mall.member.fegin"})
    @SpringBootApplication
    @EnableDiscoveryClient
    public class MallMemberApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(MallMemberApplication.class, args);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    9.开始使用

    在这里插入图片描述

    以上是使用nacos作为注册中心使用

    ===================================================

    以下使用nacos作为配置中心管理各个服务的配置信息

    10.引入Nacos Config Starter

    因为每个模块都可能使用,所以直接放在mall-common模块中

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        <version>2.1.0.RELEASE</version>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    11.在需要使用的各个模块下的/src/main/resources/bootstrap.properties配置文件中配置Nacos Config元数据

    spring.application.name=mall-coupon #根据模块名改变
    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    
    • 1
    • 2

    12.给配置中心添加一个当前服务.properties的配置文件

    默认规则:应用名.properties
    可以添加任何配置数据
    在这里插入图片描述

    13.获取nacos中建立的配置文件数据

    在这里插入图片描述

  • 相关阅读:
    Redis入门
    javaee ssm框架项目添加分页控件
    文件加密软件哪个好丨2023年最值得收藏的6款文件加密软件
    【RNA structures】RNA-seq 分析: RNA转录的重构和前沿测序技术
    Oracle事务
    代码随想录 Day44 动规12 LeetCode T300 最长递增子序列 T674 最长连续递增序列 T718 最长重复子数组
    Lua中pair和ipair的区别
    LM小型可编程控制器软件(基于CoDeSys)笔记二十七:温度电阻通道和DO通道
    台湾地区信用卡客户贷款违约预测
    ArgoCD 用户管理、RBAC 控制、脚本登录、App 同步
  • 原文地址:https://blog.csdn.net/weixin_45131762/article/details/125473679