微服务(二)—— 公共模块(backend-common)

SpringBoot+Vue微信小程序外卖系统实战开发 前后端分离架构是当前企业级应用开发的主流模式,通过SpringBoot提供稳定的RESTful接口,结合Vue.js实现动态前端交互。这种架构的核心价值在于解耦前后端开发流程,提升团队协作效率。在微信小程序生态中,开发者需要特别处理登录授权、支付对接等平台特有功能。本文以实战项目《苍穹外卖》为例,详细解析如何使用SpringBoot+Vue技术栈实现包含订单状态机、分布式锁等核心功能的外卖系统,并分享生产环境部署方案与性能优化经验。项目涵盖从需求分析到云端部署的全流程,适合Java全栈开发进阶学习。 阅读详情

上一篇:微服务(一)—— 项目结构.

一、创建项目

部分内容参考https://blog.youkuaiyun.com/qq_41740883/article/details/117466522.
首先点击父工程创建一个Module
在这里插入图片描述
这里选择Spring Initializr,快速创建SpringBoot项目
在这里插入图片描述
点击Next,选择使用的工具版本,用的是Maven,Java是8版本
在这里插入图片描述
这里只是用作公共模块,可以不用选择左边的技术依赖,只需要选择SpringBoot版本就行,idea里面都是SpringBoot最新版本,如果想用之前的版本可以在项目创建成功后修改pom.xml文件里的SpringBoot依赖。
在这里插入图片描述
然后点击Next,Finish就完成了。

二、项目目录结构

在这里插入图片描述
config主要是微服务项目所需的自定义配置类;
constant是微服务项目所用到的常量;
util是微服务项目所用到的工具类;
resources/config下存放的是本项目所需的配置;
其它模块可以通过引入本模块的Maven依赖来使用这些公共类。

三、POM文件

首先继承BackendManageSystem依赖

<parent>
    <groupId>com.aiun</groupId>
    <artifactId>BackendManageSystem</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>

然后加入本模块需要使用的依赖,下面是pom文件

<?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.aiun</groupId>
    <artifactId>backend-common</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--继承BackendManageSystem依赖-->
    <parent>
        <groupId>com.aiun</groupId>
        <artifactId>BackendManageSystem</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

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

    <dependencies>
        <!--spring boot web 依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- lombok 依赖 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!-- spring data redis 依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
        <!-- commons-pool2 对象池依赖 -->
        <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-pool2</artifactId>
        </dependency>
        <!-- joda-time 依赖 -->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
        </dependency>
    </dependencies>
</project>

注:项目已上传GitHub:https://github.com/AiunCode/BackendManageSystem.

下一篇:微服务(三)—— MyBatis逆向工程模块(backend-generator).

公共资源模块的设计与开发 公共资源模块的设计与开发 摘 要 随着教育改革的不断深化,中小学的建设与发展对国民整体素质的提高起着越来越重要的作用,拥有一套适合校情的在线考试评估系统、将信息技术用于校务管理评估中便是迫切的要求。SMART系统是一个在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及教师对学生在线考试信息的管理和维护。 本文涉及到的公共资源模块,它作为SMART项目的一个组成部分,占有十分重要的作用,它是后面所有模块的基础,这个模块的设计质量关系到整个系统的开 阅读详情

相关推荐

java开发实战(2):springboot多模块工程引入日志配置和swagger3

上一篇文章:java开发实战(1):创建springboot多模块Maven工程 根据上一步的操作创建了三个子模块,分别是: demo-admin: 程序入口 demo-user:用户管理模块 demo-common: 公共模块,所有模块都依赖 配置日志logback: logback是springboot的内置日志框架,所以比较方便; 直接在resources文件夹下新建logback.xml文件既可 logback.xml是放到了demo-admin模块中,因为此模块是程序入口,方便日志的统.

weixin_42551921的博客 1099

微服务基础环境搭建--和创建公用模块

1、RestTemplate 是Spring 提供的用于访问Rest 服务的模板类2、RestTemplate 提供了多种便捷访问远程Http 服务的方法3、说明:小伙伴可以这样理解, 通过RestTemplate, 我们可以发出http 请求(支持Restful 风格), 去调用Controller 提供的API 接口, 就像我们使用浏览器发出http 请求,调用该API 接口一样.4、使用简单便捷。

业精于勤,荒于嬉 2664

DEAP数据集实战指南:从脑电信号到情绪分类的完整流程解析

本文提供了DEAP数据集在脑电信号情绪识别领域的完整实战指南。详细解析了数据下载、结构理解、频带功率特征提取等核心步骤,并演示了如何构建和评估机器学习分类模型,为研究者实现从原始脑电信号到情绪分类的完整流程提供了清晰路径。

jj890的博客 900

springboot项目快速搭建

一.快速启动一个springboot项目 (1)打开idea,新建一个项目 勾选SpringWeb的依赖包。这个依赖包里含有web开发的基本组件(Tomcat容器,jackson:处理json字符串的类库,spring和springmvc的依赖) 选择项目存放路径,下一步 项目的结构如图所示 (2)setting里确保maven配置成功 检查maven是做项目的第一步 (3)新建HelloController类 (4)编写如下代码 package com.example.demo.contro

qq_41740883的博客 1135

探索niri:让你的Linux桌面布局无拘无束

niri是一款基于Wayland的滚动平铺合成器,采用创新的窗口管理方式。它将窗口排列为向右无限延伸的条目,支持独立显示器布局和动态垂直工作区,确保多任务操作流畅性。核心功能包括概要视图、截图界面、屏幕投射、手势操作、窗口分组等,并支持自定义布局和动画效果。niri具备良好的稳定性,兼容xwayland-satellite工具,灵感来自PaperWM但突破了GNOME限制。该项目为追求高效桌面管理的用户提供了全新解决方案,欢迎加入社区交流体验。

weixin_44626085的博客 1816

别再折腾虚拟机了!手把手教你用WSL2在Windows 11上安装Kali Linux(含汉化与图形界面)

本文详细介绍了如何在Windows 11上通过WSL2安装和配置Kali Linux,包括汉化与图形界面设置。通过WSL2,用户可以享受接近原生性能的Linux体验,同时保持与Windows系统的无缝集成,特别适合网络安全爱好者和开发者。文章还提供了常见问题解决和性能优化建议,帮助用户高效使用Kali工具集。

weixin_42525369的博客 322

微服务公共模块(公共子项目)构建过程

在微服务项目中避免不了很多重复的实体类、公共方法、静态变量之类的我们需要构建一个公共子模块来去除代码冗余

weixin_44485316的博客 906

数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015

想必大家都遇到过数字大小超过int类型范围的情况,是不是碰到int放不下的数字自然就会想到,long int,long long int,甚至unsigned long long int呢。但是有一些出题者就很可恶,偏要出一些连unsigned long long int也放不下的算法题,应对这些问题时,我们是否有相应的应对方法呢?答案是:当然有,高精度就是一种应对这种问题时很好的解决办法。相信你在看完这篇文章后能对高精度有着更深更好的理解。我会循序渐进的来讲,这样大家也更容易听懂。

2303_79329831的博客 1229

Astron Agent 项目模块架构全解:企业级 Agentic Workflow 平台的微服务地图

Astron Agent 是一个企业级、商业友好的 Agentic Workflow 开发平台,将 AI 工作流编排、模型管理、AI 与 MCP 工具、RPA 自动化与团队协作能力整合于一体。本文以仓库 [docs/PROJECT_MODULES.md](https://link.gitcode.com/i/4db44ca6312f589c96c30e80c2ba3aa0) 为骨架,结合 [cor

gitblog_00326的博客 95

量子阱技术解析:从基础原理到前沿应用

本文深入解析量子阱技术,从微观“能量游泳池”的基础原理出发,阐释了其通过限制电子实现能级量子化,从而精确调控发光波长的核心机制。文章详细探讨了量子阱在半导体激光器和LED中的革命性应用,如实现低阈值电流与高亮度显示,并展望了其在能带工程及量子级联激光器等前沿领域的发展与挑战。

weixin_29267307的博客 282

PCIe协议之 Equalization篇 之 理论篇 之 FFE

作为最后一道“精加工”工序,DFE利用其不放大噪声的优势,精准地消除残余的、强烈的后光标ISI,最终得到一个非常干净、张得很开的眼图,供判决器使用。信号经过信道衰减后变得模糊,首先由CTLE进行“粗调”,提供一个宽频带的增益,将眼图初步打开,为后面的DFE创造一个可以正常工作的信号环境。,它通过将输入信号在不同时间点上的多个副本(称为“抽头”)进行加权求和,来直接塑造或“整形”输出信号的波形。:这是最主要的信号路径,通常系数为正值,决定了信号的幅度。:将所有加权后的信号相加,产生最终的均衡输出。

那么菜的博客 754

Easy-Vibe 后端架构实战:从脚本到微服务的项目架构选型与演进指南

> 本指南是 Easy-Vibe 后端知识体系中的架构总纲,对应仓库文档 [backend-project-architecture.md](https://link.gitcode.com/i/22b64987207d6fe9afd3b62d9d6fac61)。它以"按规模选架构、按语言定风格"为主线,系统讲解从单文件脚本、分层架构到微服务的完整演进路径,并给出 Node.js、Python、G

gitblog_00399的博客 401

基于RK3588调试WiFi模块AIC8800

本文介绍了在RK3588平台上移植AIC8800 WiFi模块驱动的过程。开发环境基于Linux 6.1内核和Buildroot文件系统。驱动移植步骤包括:将驱动包放入SDK指定目录、修改Makefile、编译内核、放置固件文件、手动加载驱动模块等。文章还分析了两种常见异常情况:无法识别模块(检查USB信号线路和供电)和偶发断连(检查硬件连接和调整PHY寄存器)。成功加载后可通过ifconfig看到wlan0节点。

qq_45147279的博客 667

financial-services项目拆解:金融微服务架构的资金安全与审计合规

微服务架构是金融科技系统应对复杂业务和高并发交易的主流范式。其原理是将账户、交易、支付等核心能力拆分为独立服务,通过模块边界和统一契约降低耦合;与此同时,资金安全与审计合规要求系统具备更强的可追溯性和一致性。工程实践中,统一异常码、traceId全链路追踪、幂等控制、金额精度管理以及合理的事务边界,都是保障资金流转可靠的关键手段;Monorepo与common、services、jobs等目录划分则有助于平衡协作效率与发布稳定性。这类设计广泛适用于金融支付、信贷核算、账务对账等核心系统。以真实financi

weixin_32576389的博客 248

Raspberry Pi Pico + Inmp441麦克风(Pio模拟I2s)<2>

摘要:本文介绍了在Raspberry Pi Pico上使用PIO(Programmable I/O)接收I2S数字麦克风音频数据并保存为WAV文件的方法。项目采用双PIO状态机设计,一个生成I2S时钟信号(WS+SCK),另一个接收24位左声道数据并转换为16位格式。文章详细说明了接线方式、参数设置、WAV文件头构造、PIO汇编程序实现以及数据转换处理流程。项目在MicroPython环境下实现16kHz采样率、6秒时长录音,具有时序精确、稳定可靠的特性,并提供了进一步拓展的可能性,如双声道支持、实时频谱分

技术需要沉淀,需要碰撞。 658

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Folia 安装教程:10 分钟装好,播放即享全屏歌词动画

Folia 是一款全屏歌词动画播放器,把普通歌词列表变成铺在整块屏幕上的文字动画。它支持网易云、酷狗、QQ 音乐、Navidrome 等在线音源,也能导入本地曲库。装好 Folia、登录任一音源、播放一首带歌词的歌,歌词动画就会亮起。本文带你完成下载、安装、启动,再花一分钟确认它真的跑起来了。 ## 先分清你的系统,去对的地方拿包 | 你的系统 | 去哪下包 | 怎么认包 | 备注 | | -

gitblog_00372的博客 845

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

从零读懂AI智能客服(二):Java 多模块项目如何协作:Maven 依赖、Spring 注入与运行时装配

本文主要介绍多模块之间到底是如何调用的,Java 多模块项目如何协作:Maven 依赖、Spring 注入与运行时装配

yurenpai的博客 407

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

后端项目架构设计指南:从脚本到微服务的分层演进实战(Easy-Vibe 项目学习版)

后端项目从几行脚本成长到支撑百万用户的分布式系统,代码的组织方式决定了它的生死。这篇指南以 Easy-Vibe 开源教程仓库中《后端项目架构设计》为核心,系统讲解如何根据用户规模与语言特性选择架构形态:入门级的简单脚本风格、中等级的四层架构(Controller-Service-Repository-Model)、企业级的微服务与数据层设计,并给出 Node.js、Python、Go、Java 四

gitblog_01136的博客 724

5 分钟跑通 pypdf:用 Python 拆分、合并、加密 PDF 的完整上手指南

你要把 50 份 PDF 合并成一份、批量旋转页面,或者给敏感文档加密码,但不想引入 PDFBox 之类的 Java 工具?pypdf 是一个纯 Python 的 PDF 处理库:不绑定 C 依赖,`pip install` 一行装完,就能对 PDF 做读取、合并、拆分、裁剪、旋转、缩放、加密码、写元数据这些操作。它适合两类人:需要把 PDF 处理写进自动化脚本的开发者,以及第一次接触 PDF 文

gitblog_01044的博客 325

Astron Agent 项目模块全景解析:企业级 Agentic Workflow 平台的六层架构与技术栈拆解

本篇技术指南以 [docs/zh/PROJECT_MODULES.md](https://link.gitcode.com/i/f2a61c726dc11ac362a33b7eed3b7afb) 为主体骨架,结合仓库源码与配置,系统拆解 Astron Agent 的模块化架构:从 React 前端、Java 控制台后端,到 Python 微服务集群、Go 租户服务、插件系统与基础设施层。读完本文,

gitblog_00596的博客 899

Astron Agent 仓库开发协作指南:多语言模块架构、通信链路与端到端发布验收工作流

本篇技术指南基于开源仓库 [AGENTS.md](https://link.gitcode.com/i/86257555d9b2282bc3355aba44c5c2b0) 展开,系统讲解 Astron Agent(企业级 Agentic Workflow 开发平台)的仓库结构与多语言多模块组织方式、前后端与微服务之间的典型通信链路、开发者在改动代码时必须遵守的协作约束,以及仓库约定的"发布—构建—

gitblog_00144的博客 338

SpringBoot+Vue+MyBatis作家管理系统开发实践

现代Web开发中,前后端分离架构已成为主流技术范式。通过SpringBoot提供RESTful API服务,结合Vue.js构建响应式前端界面,再配合MyBatis实现数据持久化,可以快速搭建企业级管理系统。这种技术组合充分发挥了Java生态的稳定性和JavaScript生态的灵活性,特别适合需要快速迭代的中小型项目。在实际应用中,SpringBoot的自动配置特性简化了开发流程,Vue的组件化思想提升了代码复用性,而MyBatis则提供了灵活的SQL控制能力。以作家信息管理系统为例,这种架构能有效支撑CR

weixin_34013044的博客 610

Astron Agent 技术治理与角色体系详解:企业级开源项目的治理模型与落地实践

Astron Agent 是**企业级、商业友好(enterprise-grade, commercial-friendly)的 Agentic Workflow(智能体工作流)平台**。项目的治理模型设计目标是"双轮驱动":一方面通过开放的社区协作机制吸引外部贡献者,另一方面以明确的角色分层和决策权归属确保企业级的稳定性与可靠性([GOVERNANCE.md](https://link.gitc

gitblog_00055的博客 427

Java全栈开发亲子互动平台:技术实现与毕业设计指南

亲子互动平台是基于Java全栈技术构建的家庭数字化解决方案,采用Spring Boot+Vue的主流技术栈实现。这类系统开发涉及前后端分离架构、RESTful API设计和数据库优化等核心技术,其中Spring Security和JWT保障了系统安全性,Redis缓存提升了性能表现。在实际工程实践中,需要特别关注家庭关系树形结构存储、任务状态机设计和WebSocket即时通讯等典型场景的实现。该类型项目既可作为毕业设计展示完整的技术能力,也能解决现代家庭亲子互动碎片化的实际问题,具有教育技术融合的典型应用价

weixin_30568591的博客 347

mysiteforme前后端分离架构解析:Spring Boot 3.2.5 + Vue3技术栈深度剖析

**mysiteforme权限管理系统**是一款基于Spring Boot 3.2.5和Vue3技术栈的现代化前后端分离脚手架系统,为开发者提供了一套完整的权限管理解决方案。这套轻量级系统脚手架集成了用户管理、角色管理、权限控制、数据库管理等核心功能,让开发者能够快速搭建属于自己的企业级后台管理系统。😊 ## 📊 为什么选择前后端分离架构? 现代Web开发中,前后端分离架构已成为主流趋势。

gitblog_00061的博客 538

Snowy 3.0 架构全景解析:业务、应用、数据、技术与部署五大视图

Snowy 是国内首个将国密(SM2/SM3/SM4)能力内置于技术底层的国产前后端分离快速开发平台,基于 SpringBoot 3 + Vue 3 插件化架构构建。本文以仓库 `images/README.md` 中收录的五张官方架构图为骨架,结合根目录 [README.md](https://link.gitcode.com/i/a45d2a9d1c7793d100f78b09b4cf6e0a

gitblog_00985的博客 473
上一篇: 微服务(一)—— 项目结构
下一篇: 微服务(三)—— MyBatis逆向工程模块(backend-generator)
CodAlun
博客等级 码龄8年 46粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值