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

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: chatcloud: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: chatconfig:import: nacos:chat-dev.ymlcloud:nacos:discovery:server-addr: 127.0.0.1:8848config:server-addr: 127.0.0.1:8848file-extension: yml

4、配置动态刷新

在启动类上加上注解@RefreshScope

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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【HTTP】请求“报头”,Referer 和 Cookie
  • Windows控制台中文乱码怎么解决?(nes,一些exe窗口程序)
  • k8s证书过期处理
  • 【2025】中医药健康管理小程序(安卓原生开发+用户+管理员)
  • C#基础知识-.NET,变量,容量单位,数据类型
  • MATLAB系列05:自定义函数
  • android设置实现广告倒计时功能
  • 基于协同过滤+python+django+vue的音乐推荐系统
  • MVC应用单元测试以及请求参数的验证
  • 你必须知道的C语言问题(12)
  • Linux 基础IO 1
  • LeetCode746:使用花费最小爬楼梯
  • Flutter-底部选择弹窗(showModalBottomSheet)
  • BMC 虚拟i2c访问PCA9545(switch芯片)后面的设备,为什么找不到PCA9545?
  • Leetcode 470. 用 Rand7() 实现 Rand10()
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • CSS盒模型深入
  • java取消线程实例
  • leetcode-27. Remove Element
  • react-native 安卓真机环境搭建
  • React系列之 Redux 架构模式
  • 程序员最讨厌的9句话,你可有补充?
  • 分布式事物理论与实践
  • 关于使用markdown的方法(引自CSDN教程)
  • 记一次用 NodeJs 实现模拟登录的思路
  • 漂亮刷新控件-iOS
  • 前端技术周刊 2019-02-11 Serverless
  • 前端面试总结(at, md)
  • 设计模式(12)迭代器模式(讲解+应用)
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 一道闭包题引发的思考
  • 一个完整Java Web项目背后的密码
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 回归生活:清理微信公众号
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​决定德拉瓦州地区版图的关键历史事件
  • !!java web学习笔记(一到五)
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • #HarmonyOS:软件安装window和mac预览Hello World
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (区间dp) (经典例题) 石子合并
  • (转)h264中avc和flv数据的解析
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (自适应手机端)行业协会机构网站模板
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET Standard 的管理策略
  • .net 设置默认首页
  • .NET连接数据库方式
  • .NET学习全景图