SpringCloud从零开始简单搭建 - JDK17

news2024/9/20 12:19:27

文章目录

  • 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.coloradmin.cn/o/2148867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DNS攻击频发,打造防劫持DNS需强化“数据治理”理念

数字化转型时代&#xff0c;“一物多址&#xff0c;万物互联”正依托于DNS&#xff08;域名系统&#xff09;实现&#xff0c;DNS的重要性不言而喻。然而传统DNS协议存在诸多安全隐患&#xff0c;整个明文传输过程几乎没有认证与保护&#xff0c;导致DNS报文易被篡改&#xff0…

VSCode调试Unity准备工作

一.Unity设置VSCode为默认编辑器 Unity编辑器中Edit-Preferences-External Tools中选择VSCode 二.VSCode安装Unity插件 三.Unity的Visual Studio Editor升至最新 Window->Package Manager->Visual Studio Editor 四.下载配置.Net 8.0 安装之前VSCode会提示你下载.Net …

maxwell 输出消息到 redis

文章目录 1、maxwell 输出消息到 redis1.1、启动一个Maxwell容器&#xff0c;它会连接到指定的MySQL数据库&#xff0c;捕获变更事件&#xff0c;并将这些事件以Redis发布/订阅的形式发送到指定的Redis服务器1.2、在已运行的 Redis 容器中执行 Redis 命令行界面&#xff08;CLI…

【2023工业异常检测文献】SimpleNet

SimpleNet:ASimpleNetworkforImageAnomalyDetectionandLocalization 1、Background 图像异常检测和定位主要任务是识别并定位图像中异常区域。 工业异常检测最大的难题在于异常样本少&#xff0c;一般采用无监督方法&#xff0c;在训练过程中只使用正常样本。 解决工业异常检…

【uni-app】小兔鲜项目-基础架构-请求和上传文件拦截器

注意事项 uni.request 请求封装 请求和上传文件拦截器 uniapp 拦截器&#xff1a; uni.addInterceptor 接口说明&#xff1a;接口文档 实现需求 拼接基础地址设置超时时间添加请求头标识添加 token 参考代码 // src/utils/http.ts// 请求基地址 const baseURL https://pca…

IM项目-----语音识别子服务

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、搭建思想二、服务器搭建1.继承speechService类,重写业务代码2.编写语音识别服务器类3.建造者类编写 三.测试 前言 语音转换子服务&#xff0c;用于调用语音…

字节跳动算法岗面试亲历:高效流程大公开,通关诀窍全掌握

最近这一两周看到不少互联网公司都已经开始秋招提前批了。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 个人情况 985 本硕项目一个论文一篇无实习经历 时间节点 7.2 技术面一面 …

探索Python的聊天机器人世界:errbot库的神秘面纱

文章目录 探索Python的聊天机器人世界&#xff1a;errbot库的神秘面纱背景&#xff1a;为何选择errbot&#xff1f;errbot是什么&#xff1f;如何安装errbot&#xff1f;简单库函数使用方法1. 创建机器人2. 响应消息3. 处理私聊4. 定时任务5. 错误处理 场景应用1. 会议提醒2. 天…

sheng的学习笔记-AI-FOIL(First-Order Inductive Learner)

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 规则学习&#xff08;rule learning&#xff09;: sheng的学习笔记-AI-规则学习&#xff08;rule learning&#xff09;-CSDN博客 序贯覆盖(sequential covering):sheng的学习笔记-AI-序贯覆盖(sequential covering) 基础…

Java 方法重写(难)

目录 1&#xff0e;A类和B类都写一个相同的方法&#xff0c;先用static&#xff0c;两边都是一样的&#xff1a; 2&#xff0e;A类和B类都去掉static&#xff0c;出现了两个圆圈的符号&#xff0c;代表重写&#xff1a; 3&#xff0e;总结 4&#xff0e;为什么需要重写&…

maven模块管理和继承聚合

1.分模块设计与开发 分模块即为不同的模块实现不同的功能&#xff0c;方便项目开发和部署。 如下图&#xff1a;pojo为实体模块&#xff0c;tlias为业务模块&#xff0c;utils为功能模块 要在tlias模块中使用其他两个模块&#xff0c;需要在pom文件中加入对应的依赖。 如图&…

【OceanBase诊断调优】—— obdiag 一条命令搞定卡合并问题根因分析

1. 背景 卡合并是一个OceanBase中较为复杂的问题&#xff0c;可能由各种问题引入导致。当前是否卡合并无明确定义&#xff0c;一方面我们认为超过36小时没合完是合并超时&#xff08;RS会报ERROR日志&#xff09;&#xff0c;另一方面用户可能自己判断合并超时&#xff08;根据…

探索AI大模型:从入门到精通的学习路径

每日一句正能量 其实许多波折不过是成功道上的荆棘路&#xff0c;纵然今天不如意&#xff0c;但我们还有未来。 前言 随着人工智能技术的快速发展&#xff0c;AI大模型学习正成为一项备受关注的研究领域。为了提高模型的准确性和效率&#xff0c;研究者们需要具备深厚的数学基…

pc远程控制软件有哪些?4款热门远程控制软件推荐,总有一款适合你!

在数字化转型的浪潮中&#xff0c;远程控制已成为企业提升运营效率、实现远程办公的不可或缺的工具。 正所谓 "运筹帷幄之中&#xff0c;决胜千里之外" &#xff0c;PC端远程控制软件让企业管理者和员工能够跨越地域限制&#xff0c;高效协同工作。 今天&#xff0c…

excel 单元格一直显示年月日

excel 单元格一直显示年月日&#xff0c;在单元格上右键选择单元格格式&#xff0c;选择日期时单元格会显示成日期格式

Flink 与 Kubernetes (K8s)、YARN 和 Mesos集成对比

Flink 与 Kubernetes (K8s)、YARN 和 Mesos 的紧密集成&#xff0c;是 Flink 能够在不同分布式环境中高效运行的关键特性。 Flink 提供了与这些资源管理系统的深度集成&#xff0c;以便在多种集群管理环境下提交、运行和管理 Flink 作业。Flink 与 K8s、YARN 和 Mesos 集成的详…

前后端独立部署的企业级私有化文档管理系统丨无忧·企业文档

大家好&#xff0c;我是软件部长&#xff0c;今天给大家介绍一款企业级在线知识库项目-JVS的无忧企业文档。 JVS提供低代码、物联网、规则引擎、智能BI、逻辑引擎、无忧企业文档&#xff08;在线协同&#xff09;、无忧企业计划、无忧企业邮筒等平台&#xff0c;欢迎关注微信公…

无处不在的人工智能:现状与未来

文章目录 引言科幻电影中的AI《她》&#xff1a;人工智能的爱情《我&#xff0c;机器人》&#xff1a;AI的觉醒 人工智能的发展现状专用人工智能的突破通用人工智能的起步 结语 引言 在21世纪的今天&#xff0c;人工智能&#xff08;AI&#xff09;已经成为推动社会发展的关键…

热爱无国界:deepin 23获得全球用户的信任与支持

查看原文 随着 deepin 操作系统在全球范围内知名度和影响力的日益攀升&#xff0c;其独特的魅力和卓越的使用体验赢得了世界各地的众多开源爱好者与全球媒体的高度关注与支持。 海外分支社区的蓬勃发展 最近&#xff0c;deepin 在国际化进程中又迈出了坚实的一步——deepin …