SpringCloud Alibaba Nacos简单应用(二)

😀前言

本篇博文是关于SpringCloud Alibaba Nacos简单应用,希望你能够喜欢

🏠个人主页:晨犀主页

🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰

如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

文章目录

SpringCloud Alibaba Nacos

创建Nacos 服务提供者

需求说明/图解

创建member-service-nacos-provider-10006 并注册到NacosServer8848

创建member-service-nacos-provider-10006
  1. 参考member-service-nacos-provider-10004 来创建member-service-nacos-provider-10006 即可
  2. 创建好后, 使用member-service-nacos-provider-10004 的源码和配置替换member-service-nacos-provider-10006 生成的代码
  3. 提醒,拷贝时不要忘记拷贝resources/mapper/MemberMapper.xml 这些xxx.xml 文件
修改本模块pom.xml
  1. 将member-service-provider-10000 的pom.xml 的...拷贝过来,修改即可
xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>e-commerce-center</artifactId>
        <groupId>com.my.springcloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>member-service-nacos-provider-10006</artifactId>


    <!--引入相关的依赖-->
    <dependencies>

        <!--引入nacos-starter nacos的场景启动器starter -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!--引入web-starter 说明我们使用版本仲裁(从父项目继承了版本)
        -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <!--引入mybatis-starter 整合到springboot-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>

        <!--引入druid-starter-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <!--这里需要我们指定版本, 因为父项目没有-->
            <version>1.1.17</version>
        </dependency>

        <!--引入mysql依赖,使用版本仲裁-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!--spring-boot-start-jdbc引入-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <!--引入test-starter-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <!--引入公共模块-->
        <dependency>
            <groupId>com.my.springcloud</groupId>
            <artifactId>e_commerce_center-common-api</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
</project>
创建application.yml
  1. 将member-service-nacos-provider-10004 的application.yml 拷贝过来,修改端口即可
yml 复制代码
server:
  port: 10006

spring:
  application:
    name: member-service-nacos-provider #配置应用的名称
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://localhost:3306/e_commerce_center_db?useSSL=true&useUnicode=true&characterEncoding=UTF-8
    username: root
    password: 123456
  #配置nacos
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #配置Nacos Server的地址
#配置暴露所有的监控点
management:
  endpoints:
    web:
      exposure:
        include: '*'
#配置mybatis
mybatis:
  mapper-locations: classpath:mapper/*.xml #指定mapper.xml文件位置
  type-aliases-package: com.my.springcloud.entity # 实例类所在的包,这样通过类名就可以引用
创建主启动类
  1. 创建主启动类MemberNacosProviderApplication10006
java 复制代码
//@EnableDiscoveryClient 引入的是Nacos发现注解
@EnableDiscoveryClient
@SpringBootApplication
public class MemberNacosProviderApplication10006 {
    public static void main(String[] args) {
        SpringApplication.run(MemberNacosProviderApplication10006.class,args);
    }
}
为看到更好提示,修改Controller
  1. 修改com/my/springcloud/controller/MemberController.java 的输出信息
java 复制代码
@RestController
@Slf4j
public class MemberController {

    //装配MemberService
    @Resource
    private MemberService memberService;

    //添加方法/接口
    //说明
    //1. 我们的前端如果是以json格式来发送添加信息Member, 那么我们需要使用@RequestBody
    //   , 才能将数据封装到对应的bean, 同时保证http的请求头的 content-type是对应
    //2. 如果前端是以表单形式提交了,则不需要使用@RequestBody, 才会进行对象参数封装, 同时保证
    //   http的请求头的 content-type是对应
    @PostMapping("/member/save")
    public Result save(@RequestBody Member member) {
        log.info("service-provider member={}", member);
        int affected = memberService.save(member);
        if (affected > 0) { //说明添加成功
            return Result.success("添加会员成功 member-service-nacos-provider-10006", affected);
        } else {
            return Result.error("401", "添加会员失败");
        }
    }

    //查询的方法/接口
    //这里使用url占位符+@PathVariable
    @GetMapping("/member/get/{id}")
    //public Result getMemberById(@PathVariable("id") Long id, HttpServletRequest request) {
    public Result getMemberById(@PathVariable("id") Long id) {

        Member member = memberService.queryMemberById(id);

        //使用Result把查询到的结果返回
        if (member != null) {
            //return Result.success("查询会员成功 member-service-provider-10000 " + color + "-" + address, member);
            return Result.success("查询会员成功 member-service-nacos-provider-10006", member);
        } else {
            return Result.error("402", "ID= " + id + "不存在");
        }

    }
}
测试

​ 保证Nacos Server 8848 是启动的

​ 启动member-service-nacos-provider-10006

观察nacos 服务是否注册成功
浏览器输出: http://localhost:10006/member/get/1

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁

希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻

如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

相关推荐
苏三说技术5 分钟前
Claude Code从失控到起飞,只用了这些技巧
后端
长栎1 小时前
写 for 循环写了十年,你却从没用过迭代器模式最狠的那一面
后端
LiaCode1 小时前
Redis 在生产项目的使用
前端·后端
用户559822481221 小时前
Docker Compose Down 导致容器数据误删——ext4 日志恢复全记录
后端
LiaCode1 小时前
一天学完 redis 的爽翻版核心知识总结
前端·后端
大刚测试开发实战1 小时前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
xiaodaoluanzha1 小时前
迄今為止,最簡單的編程語言 Nolang
前端·后端
Csvn1 小时前
Docker 容器管理入门 — 从镜像到容器编排
后端
用户762352425912 小时前
ShardingJDBC
后端
行者全栈架构师2 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端