当前位置: 首页 > article >正文

SpringCloud从零开始简单搭建 - JDK17

文章目录

  • SpringCloud + Nacos从零开始简单搭建 - JDK17
    • 一、创建父项目
    • 二、创建子项目
    • 三、集成Nacos
    • 四、集成nacos配置中心

SpringCloud + Nacos从零开始简单搭建 - JDK17

环境要求:JDK17、Spring Boot3、maven。
那么,如何从零开始搭建一个 SpringCloud 项目呢?以下是具体步骤。

从零开始搭建一个SpringCloud项目呢,下面是一些步骤。

一、创建父项目

创建一个空的maven项目。

创建完成后,需进行一些细节操作。

  1. 删除 src 目录,仅保留 pom.xml 文件。
  2. 设置 idea 的 maven 仓库与配置文件。
  3. 配置 pom.xml。以下是最初版本父项目的配置文件,其中使用的依赖为最新版本。请注意修改 groupId、artifactId
    为你期望的名称。
<?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>

    <groupId>com.sifan</groupId>
    <artifactId>sifan-ai</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <modules>
        <!--后面的时候子项目放这里-->
    </modules>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>

    <!--管理子项目maven包的版本-->
    <dependencyManagement>
        <dependencies>
            <!--spring-boot依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>3.3.3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring-cloud依赖 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2023.0.3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring-cloud-alibaba依赖 -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2023.0.1.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

SpringCloud Alibaba 与SpringCloud 与 SpringBoot的版本对应关系如下:
在这里插入图片描述

二、创建子项目

在父目录下创建module,也就是子项目。

建议直接使用Spring Initializr进行创建子项目。按需选择需要的组件。

1、修改子项目的pom.xml。将parent从SpringBoot改为自己创建的父项目。

    <parent>
        <groupId>com.sifan</groupId>
        <artifactId>sifan-ai</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

2、在父项目的pom文件中添加子项目

    <modules>
        <!--后面的时候子项目放这里-->
        <module>chat</module>
    </modules>

三、集成Nacos

咱们需要的nacos版本也是需要找到对应的。
在这里插入图片描述
1、下载nacos

github地址:nacos releases
在这里插入图片描述
下载完成后解压缩。

2、修改nacos启动文件

具体需要怎么走可以看官方文档。nacos docs

startup.cmd文件后缀改为txt。打开修改参数MOOE改为standalone

在这里插入图片描述
修改nacos的端口在conf目录下面。

在这里插入图片描述
3、启动nacos

双击startup.cmd。

在这里插入图片描述
4、在子项目中添加依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

配置文件

spring:
  application:
    name: chat
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:18848

四、集成nacos配置中心

1、子项目中添加依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2、在nacos创建一个配置文件

在这里插入图片描述
3、编写java中的配置文件

spring:
  application:
    name: chat
  config:
    import: nacos:chat-dev.yml
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yml



4、配置动态刷新

在启动类上加上注解@RefreshScope

@RefreshScope
@SpringBootApplication
public class ChatApplication {
    public static void main(String[] args) {
        SpringApplication.run(ChatApplication.class, args);
    }
}

然后在需要使用nacos中动态数据的类上再加上@RefreshScope注解即可。


http://www.kler.cn/a/314031.html

相关文章:

  • 探索Python的HTTP利器:Requests库的神秘面纱
  • 除了 Mock.js,前端还有更方便的 Mock 数据工具吗?
  • python购物计算 2024年6月青少年电子学会等级考试 中小学生python编程等级考试一级真题答案解析
  • 车载空气净化器语音芯片方案
  • 数据结构-集合
  • 如何在Python中实现一个简单的搜索引擎:从零开始的指南
  • 基于python上门维修预约服务数据分析系统
  • Apache SeaTunnel Zeta引擎源码解析(三) Server端接收任务的执行流程
  • 【案例72】Apache检测到目标 URL 存在 http host 头攻击漏洞的解决方案
  • 如何安装1Panel面板并架设一个静态网站
  • Kubernetes从零到精通(11-CNI网络插件)
  • ppt组织结构图怎么增加分支?
  • 【python 类型注解详解】
  • 基于神经网络的光线追踪
  • 2024最新!!!iOS高级面试题,全!(一)
  • STM32(十五):I2C通信
  • PostgreSQL数据库怎么生成一个随机的UUID
  • K8S介绍+集群部署
  • Django视图:构建动态Web页面的核心技术
  • 伊犁职业技术学院linux 部署教学用首先创建两台linux 主机
  • springboot实战学习笔记(2)
  • MyBatis框架SqlSession浅析
  • Elastic 的 OpenTelemetry PHP 发行版简介
  • RealityCapture1.4设置缓存和设置重置
  • Python 二级考试
  • 2409js,学习js2