【02】微服务系列 之 初始化工程

微服务系列 之 工程创建

  • 前言
  • 创建应用工程
    • [创建 父工程](#创建 父工程)
      • [配置 父工程 pom.xml 文件](#配置 父工程 pom.xml 文件)
    • [创建 子模块(服务器)](#创建 子模块(服务器))
      • [配置 子模块 pom.xml 文件](#配置 子模块 pom.xml 文件)
    • [创建 子模块(实例)](#创建 子模块(实例))
      • [配置 子模块 pom.xml 文件](#配置 子模块 pom.xml 文件)

前言

微服务系列技术选型主要为Spring Cloud Alibaba

参考官网地址:https://sca.aliyun.com/docs/

相关版本选择,也主要为适配 Spring Cloud Alibaba 系列为主。

本地开发环境JDK版本:21.0.10

SpringBoot 版本:3.2.4

  • 项目背景:
    计划开发数据库在线管理项目,实现数据库的在线安装、及服务器资源管理等功能模块。
    在线安装 指:在线安装数据库实例,应用工程模块名称:service-instance
    服务器资源管理 指:纳管所有数据库服务器 集中管理,应用工程模块名称:service-machine

项目工程结构如下:

java 复制代码
- microservices-demo         # 父工程
        |- service-machine   # 数据库服务器模块
        |- service-instance  # 数据库实例模块
        |- ... ...           # 其他功能模块.

创建应用工程

创建 父工程

  1. 依次点击:File -> New -> Project
  2. 填写工程信息,如下截图

    创建完成后,项目结构默认如下:

配置 父工程 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">

    <!-- 引入 SpringBoot 版本 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.4</version>
        <relativePath/>
        <!--   lookup parent from repository   -->
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.junjiu.microservices</groupId>
    <artifactId>microservices-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- 聚合工程. -->
    <packaging>pom</packaging>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

从 pom.xml 配置中,可知父工程为 聚合工程,故可将 src 文件夹删除,整理后的项目结构如下:

创建 子模块(服务器)

  1. 选中父项目,然后鼠标右键,依次选择:New -> Module
  2. 工程模块配置信息如下:

创建完成后的项目结构如下:

配置 子模块 pom.xml 文件

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.junjiu.microservices</groupId>
        <artifactId>microservices-demo</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>service-machine</artifactId>
    
    <packaging>jar</packaging>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

创建 子模块(实例)

  1. 选中父项目,然后鼠标右键,依次选择:New -> Module
  2. 子模块填写内容如下:

    创建完成后的项目结构如下:

配置 子模块 pom.xml 文件

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.junjiu.microservices</groupId>
        <artifactId>microservices-demo</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>service-instance</artifactId>

    <packaging>jar</packaging>

    <properties>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

至此,微服务 Demo 工程初始化完成。

若有转载,请标明出处:https://blog.csdn.net/CharlesYuangc/article/details/157517057

相关推荐
古法老登瞎折腾5 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
智能运维指南6 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
znnnk6 小时前
数据库被AI“重写”:2026,从CPU中心走向GPU中心
数据库·人工智能·oracle
微微%6 小时前
mysql的安装和使用
数据库·mysql·mysql8安装
yz_aiks6 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
金銀銅鐵6 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
学长毕设7 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
jason成都7 小时前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
鱼宵7 小时前
Stream 终端操作一次讲透:collect、count、reduce 怎么选
java·stream·终端操作
白山编程大哥7 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list