Idea 2023.2.7构建SpringCloud多模块项目

Idea 2023.2.7构建SpringCloud多模块项目

本文介绍如何使用idea 2023.2.7构建基于SpringCloud alibaba微服务项目,基于Nacos注册中心。

环境准备:

JDK版本:jdk17

SpringBoot:3.3.4

SpringCloud:2023.0.3

Nacos服务端:2.4.3

1、创建父工程,选择Spring Initalizr

2、选择父项目组件

3、删除src

4、修改父模块pom.xml配置文件

默认的打包方式是jar,父工程不参与打包,增加

复制代码
<packaging>pom</packaging>
并引入alibaba依赖整合
<!--整合springcloud alibaba-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2021.0.5.0</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
复制代码
引入公共依赖如orm框架、注册中心、数据库连接池等
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
 
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2023.0.1.2</version>
</dependency>
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
    <version>4.1.4</version>
</dependency>
<!--引入sentinel依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    <version>2023.0.1.2</version>
</dependency>

5、创建子模块user-center

(1)选中项目,右击,New->Module

(2)输入Name:user-center用户中心信息

(3)选择需要的组件,父工程中已包含依赖可不选

(4)创建完成,结构如下

(5)修改user-center的pom.xml文件,修改parent里的groupId为父工程groupId

修改前:

修改后:

复制代码
<parent>
    <groupId>com.xu</groupId>
    <artifactId>psyRestRoom</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

(6)修改父工程pom.xml,加modules

复制代码
<modules>
    <module>user-center</module>
</modules>

(7)application.yml配置

复制代码
spring:
  application:
   name: user-center
  datasource:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: ENC(w1Teu1o/5A3viCdkQ3VkC6++hMwBrsGip37LnjTi0h0Xqa3MoQ3ilOxSbg9otQTuoTm/Z3bTPPFqsBlYFo+6aiNdyOe25oON5AqF0mycFxMreo3VVrkn8ZkpXETkUBYt)
      username: ENC(jSszHsa26QY5M/aI7aM6pNtQGcyEnPU0NJIHG5C4oN5uu00PGgkyh+Up/gHIIlah)
      password: ENC(VhlpQvPt9FUqy4sbpweQ5Q5PQ/mspFmOUV+RdjI4VGfekp/gK/2swL6b5cgnPWDa)
  cloud:
      nacos:
        discovery:
          server-addr: http://192.168.1.226:8848
          username: nacos
          password: nacos
        config:
          import-check:
            enabled: false
          file-extension: yml
      sentinel:
        transport:
          dashboard: localhost:8080  #配置sentinel服务端
        http-method-specify: true #开启请求方式前缀
nacos:
    core:
      auth:
        enabled:true
jasypt:
    encryptor:
      password: f0d15ddc
server:
    port: 8081
feign:
    sentinel:
      enabled: true

(8)增加bootstrap.yaml

复制代码
spring:
  cloud:
    nacos:
      config:
        server-addr: http://192.168.1.226:8848
        name: user-center
        file-extension: yaml
        group: DEFAULT_GROUP
        username: nacos
        password: nacos

再根据以上方法创建子模块

启动子模块如下:

查看注册中心:

相关推荐
2601_960567968 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
shiyi.十一8 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
张忠琳9 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
XUHUOJUN10 小时前
Azure Local VM 部署第 1 篇:Hyperconverged 路径完整实战
架构·azure local
REST_302713 小时前
告别Excel孤岛:一款任务链路可视化工具带来的真实改变
大数据·微服务·云计算·编辑器·excel·动态规划
beibeix201513 小时前
CppMicroServices 核心概念:动态服务注册与模块化系统
微服务·mitk
微三云 - 廖会灵 (私域系统开发)14 小时前
电商系统从单体到微服务拆分实践:拆什么、怎么拆、拆完后怎么办
微服务·云原生·架构
在水一缸14 小时前
苹果AI国行版过审背后的技术架构深度解析:端侧模型与私有云计算的融合实践
人工智能·架构·云计算·技术架构·苹果ai·端侧模型·私有云计算
爱上纯净的蓝天14 小时前
具身智能架构演进:从“纸上大脑“到“落地干活“的三层架构设计
架构
Kel14 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构