项目集成Nacos

文章目录

1.环境搭建

1.创建模块 sunrays-common-cloud-nacos-starter
2.目录结构
3.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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.sunxiansheng</groupId>
        <artifactId>sunrays-common-cloud</artifactId>
        <version>2.0.0</version>
    </parent>

    <artifactId>sunrays-common-cloud-nacos-starter</artifactId>

    <dependencies>
        <!-- Nacos的服务发现 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>
</project>
4.自动配置
1.NacosAutoConfiguration.java
java 复制代码
package com.sunxiansheng.cloud.nacos.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;

import javax.annotation.PostConstruct;

/**
 * Description: Nacos自动配置
 *
 * @Author sun
 * @Create 2025/1/7 16:41
 * @Version 1.0
 */
@Configuration
@Slf4j
public class NacosAutoConfiguration {

    /**
     * 自动配置成功日志
     */
    @PostConstruct
    public void logConfigSuccess() {
        log.info("NacosAutoConfiguration has been loaded successfully!");
    }
}
2.spring.factories
java 复制代码
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.sunxiansheng.cloud.nacos.config.NacosAutoConfiguration
5.引入cloud模块通用依赖
xml 复制代码
    <dependencies>
        <!-- SLF4J API -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <!-- SpringBoot自动配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>
    </dependencies>

2.测试

1.创建模块 sunrays-common-cloud-nacos-starter-demo
2.目录结构
3.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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.sunxiansheng</groupId>
        <artifactId>sunrays-demo</artifactId>
        <version>2.0.0</version>
    </parent>

    <artifactId>sunrays-common-cloud-nacos-starter-demo</artifactId>

    <dependencies>
        <!-- sunrays-common-cloud-nacos-starter -->
        <dependency>
            <groupId>com.sunxiansheng</groupId>
            <artifactId>sunrays-common-cloud-nacos-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
    </dependencies>
</project>
4.application.yml
yaml 复制代码
spring:
  application:
    name: sunrays-common-cloud-nacos-starter-demo # 服务名称
  cloud:
    nacos:
      discovery:
        enabled: true # 启用服务发现
        server-addr:  # Nacos地址
sun-rays:
  log4j2:
    home: /Users/sunxiansheng/IdeaProjects/sunrays-framework/sunrays-demo/sunrays-common-cloud-nacos-starter-demo/logs # 日志根目录(默认./logs)
    module: sunrays-demo/sunrays-common-cloud-nacos-starter-demo # 模块根目录从仓库根目录开始(默认defaultModule)
5.NacosApplication.java
java 复制代码
package com.sunxiansheng.cloud.nacos;

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

/**
 * Description: Nacos启动类
 *
 * @Author sun
 * @Create 2025/1/7 16:44
 * @Version 1.0
 */
@SpringBootApplication
public class NacosApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosApplication.class, args);
    }
}
6.启动测试,成功注册到Nacos
相关推荐
雨中飘荡的记忆9 小时前
Spring Batch实战
java·spring
Java后端的Ai之路9 小时前
【Spring全家桶】-一文弄懂Spring Cloud Gateway
java·后端·spring cloud·gateway
devmoon9 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
野犬寒鸦10 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
云姜.10 小时前
java抽象类和接口
java·开发语言
带刺的坐椅10 小时前
Claude Code Skills,Google A2A Skills,Solon AI Skills 有什么区别?
java·ai·solon·a2a·claudecode·skills
爱学英语的程序员10 小时前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
callJJ10 小时前
Spring AI 文本聊天模型完全指南:ChatModel 与 ChatClient
java·大数据·人工智能·spring·spring ai·聊天模型
CBeann10 小时前
企业级规则引擎落地实战:动态脚本引擎 QLExpress ,真香!
java·ai·大模型·规则引擎·qlexpress·大厂实战项目
懈尘10 小时前
从 Java 1.7 到 Java 21:逐版本深入解析新特性与平台演进
java·开发语言