【03】微服务系列 之Nacos 注册中心(服务注册)

微服务系列 之Nacos 注册中心(服务注册)

  • 前言
  • [父工程 pom.xml 文件更新](#父工程 pom.xml 文件更新)
  • 服务注册
    • [service-machine 服务模块](#service-machine 服务模块)
      • [pom.xml 文件更新](#pom.xml 文件更新)
      • [application.properties 配置文件](#application.properties 配置文件)
      • 启动类
    • [service-instance 服务模块](#service-instance 服务模块)
  • 验证

前言

本工程在《微服务系列 之 初始化工程》基础上,进行持续开发。

父工程 pom.xml 文件更新

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">

    <!-- 引入 SpringBoot 版本 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.4</version>
        <relativePath/>
        <!--   lookup parent from repository   -->
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.junjiu.microservices</groupId>
    <artifactId>microservices-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- 聚合工程. -->
    <packaging>pom</packaging>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring-cloud.version>2023.0.1</spring-cloud.version>
        <spring-cloud-alibaba.version>2023.0.1.0</spring-cloud-alibaba.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.fastjson2</groupId>
            <artifactId>fastjson2</artifactId>
            <version>2.0.51</version>
        </dependency>
    </dependencies>
</project>

服务注册

service-machine 服务模块

代码更新后的项目结构如下:

pom.xml 文件更新

pom.xml 文件新增以下坐标:

xml 复制代码
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

application.properties 配置文件

resources 配置文件夹中,新建 application.properties 文件,添加以下配置:

java 复制代码
# 服务器端口.
server.port=5826
# 应用服务名称.
spring.application.name=service-machine
# Nacos 服务地址.
spring.cloud.nacos.server-addr=192.168.88.166:8848

启动类

删除原来的 Main 启动类,添加 MachineApplication.java 类,完善代码如下:

java 复制代码
package com.junjiu.microservices;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * program: microservices-demo
 * ClassName: MachineApplication
 * description:
 *
 * @author: 君九
 * @create: 2026-01-30 21:04
 * @version: 1.0
 **/
@SpringBootApplication
public class MachineApplication {
    public static void main(String[] args) {
        SpringApplication.run(MachineApplication.class, args);
    }
}

service-instance 服务模块

实例管理模块代码更新项和 service-machine 服务模块 的内容一样,此处不再重复撰写。

验证

service-machineservice-instance 两个服务模块代码完善后,分别启动模块工程。

打开 Nacos 服务平台,可看到服务已经注册上来了。

若有转载,请标明出处:https://blog.csdn.net/CharlesYuangc/article/details/157517435

相关推荐
国科安芯2 小时前
航空级PMSM驱动系统中MCU的故障诊断与容错控制策略研究
单片机·嵌入式硬件·安全·架构·制造·安全性测试
木辰風2 小时前
PLSQL自定义自动替换(AutoReplace)
java·数据库·sql
heartbeat..2 小时前
Redis 中的锁:核心实现、类型与最佳实践
java·数据库·redis·缓存·并发
Prince-Peng2 小时前
技术架构系列 - 详解Redis
数据结构·数据库·redis·分布式·缓存·中间件·架构
3 小时前
java关于内部类
java·开发语言
好好沉淀3 小时前
Java 项目中的 .idea 与 target 文件夹
java·开发语言·intellij-idea
gusijin3 小时前
解决idea启动报错java: OutOfMemoryError: insufficient memory
java·ide·intellij-idea
To Be Clean Coder3 小时前
【Spring源码】createBean如何寻找构造器(二)——单参数构造器的场景
java·后端·spring
吨~吨~吨~3 小时前
解决 IntelliJ IDEA 运行时“命令行过长”问题:使用 JAR
java·ide·intellij-idea