SpringBoot优点达项目实战:项目初始化(一)

news2024/10/7 0:50:16

SpringBoot优点达项目实战:项目初始化(一)


文章目录

      • SpringBoot优点达项目实战:项目初始化(一)
        • 1、项目介绍
        • 2、项目搭建
        • 3、依赖导入
        • 4、数据准备

1、项目介绍

技术框架

  • Springboot
  • mybatisPlus
  • vue
  • knife

image-20240624222059099

image-20240624222121466

2、项目搭建

搭建maven项目,共搭建四个

父工程:youdianda

子工程:common、model、web

其中web工程包含了后台和移动端,所以需要在web里面再搭建两个子工程:web-admin、web-app

youdianda/
│
├── .idea/
│
├── common/
│   ├── src/
│   └── pom.xml
│
├── model/
│   ├── src/
│   └── pom.xml
│
├── web/
│   ├── web-admin/
│   │   ├── src/
│   │   ├── target/
│   │   └── pom.xml
│   │
│   ├── web-app/
│   │   ├── src/
│   │   └── pom.xml
│   │
│   └── pom.xml
│
├── .gitignore
└── pom.xml

image-20240624220945865

详细说明

common 模块

  • common/src/: 存放公共代码,如工具类、常量、通用配置等。
  • common/pom.xml: 定义该模块的依赖和构建配置。

model 模块

  • model/src/: 存放数据模型相关代码,如实体类、DTO等。
  • model/pom.xml: 定义该模块的依赖和构建配置。

web 模块

  • web/pom.xml: 定义Web模块的依赖和构建配置。
    • web-admin 子模块
      • web-admin/src/: 存放管理后台相关的源代码。
      • web-admin/pom.xml: 定义该子模块的依赖和构建配置。
    • web-app 子模块
      • web-app/src/: 存放Web应用相关的源代码。
      • web-app/pom.xml: 定义该子模块的依赖和构建配置。
3、依赖导入

在父工程导入依赖,并进行版本控制

<?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.youdianda</groupId>
    <artifactId>youdianda</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
        <module>common</module>
        <module>model</module>
        <module>web</module>
    </modules>

    <!-- 注意:直接替换pom文件中原有的properties -->
    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <mybatis-plus.version>3.5.3.1</mybatis-plus.version>
        <swagger.version>2.9.2</swagger.version>
        <jwt.version>0.11.2</jwt.version>
        <easycaptcha.version>1.6.2</easycaptcha.version>
        <minio.version>8.2.0</minio.version>
        <knife4j.version>4.1.0</knife4j.version>
        <aliyun.sms.version>2.0.23</aliyun.sms.version>
    </properties>

    <!-- 继承Spring Boot父项目 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.5</version>
    </parent>


    <!--配置dependencyManagement统一管理依赖版本-->
    <dependencyManagement>
        <dependencies>
            <!--mybatis-plus-->
            <!--官方文档:https://baomidou.com/pages/bab2db/ -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>

            <!--knife4j文档-->
            <!--官方文档:https://doc.xiaominfo.com/docs/quick-start -->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
                <version>${knife4j.version}</version>
            </dependency>

            <!--JWT登录认证相关-->
            <!--官方文档:https://github.com/jwtk/jjwt#install-jdk-maven -->
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-api</artifactId>
                <version>${jwt.version}</version>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-impl</artifactId>
                <scope>runtime</scope>
                <version>${jwt.version}</version>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-jackson</artifactId>
                <scope>runtime</scope>
                <version>${jwt.version}</version>
            </dependency>

            <!--图形验证码-->
            <!--官方文档:https://gitee.com/ele-admin/EasyCaptcha -->
            <dependency>
                <groupId>com.github.whvcse</groupId>
                <artifactId>easy-captcha</artifactId>
                <version>${easycaptcha.version}</version>
            </dependency>

            <!--对象存储,用于存储图像等非结构化数据-->
            <!--官方文档:https://min.io/docs/minio/linux/developers/minio-drivers.html?ref=docs#java-sdk -->
            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>${minio.version}</version>
            </dependency>

            <!--阿里云短信客户端,用于发送短信验证码-->
            <!--官方文档:https://help.aliyun.com/document_detail/215759.html?spm=a2c4g.215759.0.0.49f32807f4Yc0y -->
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>dysmsapi20170525</artifactId>
                <version>${aliyun.sms.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

在子工程web中的,web.xml,导入Springboot依赖

<dependencies>

    <dependency>
        <groupId>com.youdianda</groupId>
        <artifactId>common</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

    <dependency>
        <groupId>com.youdianda</groupId>
        <artifactId>model</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

    <!--包含spring web相关依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!--包含spring test相关依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
4、数据准备

导入sql文件,最终效果

image-20240624222431061
数据库包含了多个表,每个表都有其特定的用途。以下是对这些表的详细解释:

系统管理相关表

  1. sys_config
    • 描述: 系统配置表。
    • 备注: 存储系统配置项。
  2. sys_dict
    • 描述: 字典表。
    • 备注: 存储系统字典数据。
  3. sys_menu
    • 描述: 菜单表。
    • 备注: 存储系统菜单信息。
  4. sys_role
    • 描述: 角色表。
    • 备注: 存储系统角色信息。
  5. sys_role_menu
    • 描述: 角色-菜单关联表。
    • 备注: 存储角色与菜单的关联信息。
  6. sys_user
    • 描述: 用户表。
    • 备注: 存储系统用户信息。

应用相关表

  1. ydd_adming
    • 描述: 应用管理表。
    • 备注: 存储应用管理信息。
  2. ydd_advpos
    • 描述: 广告位置表。
    • 备注: 存储广告位置信息。
  3. ydd_article
    • 描述: 文章表。
    • 备注: 存储文章信息。
  4. ydd_cate
    • 描述: 分类表。
    • 备注: 存储分类信息。
  5. ydd_link
    • 描述: 链接表。
    • 备注: 存储链接信息。
  6. ydd_tag
    • 描述: 标签表。
    • 备注: 存储标签信息。
  7. ydd_user
    • 描述: 用户表。
    • 备注: 存储用户信息。
  8. ydd_user_data
    • 描述: 用户数据表。
    • 备注: 存储用户的具体数据信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1859162.html

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

相关文章

机器学习之逻辑回归丨KNN测试

选择题 【 正确答案: A D】 A. B. C. D. 【 正确答案: B】 A. B. C. D. 【 正确答案: C, D】 A. B. C. D. 假设我们三个类别中心&#xff0c;若某测试样本为&#xff0c;它的 c ( i ) c^{(i)} c(i)是多少&#xff1f; 【 正确答案: B】 A.1 B.2 C.3 D.不确定 假设你…

跨境电商货源渠道哪里找?盘点11个拿货产业带

一、跨境货源渠道哪里找&#xff1f; 说到找货源&#xff0c;应该很多卖家都上过阿里巴巴1688“淘货”&#xff0c;阿里巴巴1688作为一个全球采购批发平台&#xff0c;在2017年上线了个跨境专供板块&#xff0c;专为跨境卖家供货&#xff0c;跨境专供板块的供货商需要经过严格…

将 MinIO 与 Keycloak OIDC 集成

Keycloak是一种单点登录解决方案。使用Keycloak&#xff0c;用户使用Keycloak而不是MinIO进行身份验证。如果没有Keycloak&#xff0c;您将不得不为每个用户创建一个单独的身份 - 从长远来看&#xff0c;这将很麻烦。您需要一个集中身份解决方案来管理 MinIO 的身份验证和授权。…

vue3 vxe-grid列中绑定vxe-switch实现数据更新

1、先上一张图&#xff1a; <template #valueSlot"{ row }"><vxe-switch :value"getV(row.svalue)" change"changeSwitch(row)" /></template>function getV(value){return value 1;};function changeSwitch(row) {console.l…

数据分析必备:一步步教你如何用matplotlib做数据可视化(11)

1、Matplotlib 三维绘图 尽管Matplotlib最初设计时只考虑了二维绘图&#xff0c;但是在后来的版本中&#xff0c;Matplotlib的二维显示器上构建了一些三维绘图实用程序&#xff0c;以提供一组三维数据可视化工具。通过导入Matplotlib包中包含的mplot3d工具包&#xff0c;可以启…

推荐免费好用的日历和浏览器,你一定要下载使用

猫眼浏览器 猫眼浏览器是一款基于Chromium内核的增强版网页浏览器&#xff0c;融合了Chrome的核心功能与Safari的优美外观。它以简约和安全为目标&#xff0c;提供了快速、流畅的网页加载和浏览体验。 猫眼浏览器内置了隐私保护和广告屏蔽功能&#xff0c;能够有效防止用户数据…

Linux tcpdump抓包必备知识

author: 放牛娃学编程 moto: 分享与热爱&#xff0c;不是大爱我不说 放牛娃每日一语: 除了你自己&#xff0c;没有人可以说你不行 别急着划开&#xff0c;这篇笔记一定能够给你带来收获 因为这里你能学到AI永远也给不了你的知识 Linux tcpdump抓包必备知识 文章目录 Linux tcp…

Vue3 头像是圆形,hover上去时头像出现黑色半透明样式,且中间显示修改两字的实现

实现效果 原头像 hover效果 实现方式 博主在实际开发过程中使用mouseover和mouseout会出现无法点击或hover频繁闪动的问题&#xff0c;故这里采用的是css中的hover&#xff0c;利用hover也能轻松实现上述效果&#xff0c;且完全不会影响点击事件的使用。 <template> &…

Mysql: 数据模型

一.关系型数据库 概念:建立在关系型基础上,由多张相互连接的二维表组成的数据库。 1.关系型数据库: 2.特点&#xff1a; 1.使用表存储数据,格式统一,便于维护。 2.使用SQL语言操作,标准统一,使用方便。 3.数据模型 通过客户端连接DBMS可以创建多个数据库,在数据库中…

TOPGP-TIPTOP调用外部Webservice

功能要求&#xff1a;ERP作业调用外部系统的webserice更新数据。 演示环境&#xff1a;ERP作业cooi002&#xff08;员工档案&#xff09;录入后更新到外部系统员工档案表。 1、外部系统的WebSerice使用.net搭建 2、在Service.cs中写一个调用方法erp_other erp_other中两个参数…

Windows 中 Chrome / Edge / Firefox 浏览器书签文件默认存储路径

1. Chrome 浏览器 按组合键 Win R&#xff0c;打开运行对话框&#xff0c;输入 %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default或在Chrome 浏览器地址栏输入 chrome://version查看【个人资料路径】 2. Edge 浏览器 按组合键 Win R&#xff0c;打开运行对…

dockerfile文件的中的命令

# 基础镜像 FROM registry.cn-beijing.aliyuncs.com/205erp/myopenjdk:8.6 # 设置工作目录 WORKDIR /opt # 拷贝jar包到工作目录 COPY target/*.jar app.jar RUN ls # 设置暴漏的端口 EXPOSE 8080 # 启动jar包 CMD/ENTRYPOINT java ${JAVA_TOOL_OPTIONS} -jar app.jarCMD与ENT…

【uniapp】uniapp开发微信小程序入门教程

HBuilderx中uniapp开发微信小程序入门教程 一、 环境搭建 1. HBuilderx下载安装 HBuilderx下载安装地址 2. 微信开发者工具下载安装 微信开发者工地址具下载安装 二、创建uniapp项目 选择&#xff1a;文件>新建>项目>uni-app 输入项目名称>选择默认模板>…

揭秘App推广黑科技:xinstall如何助力企业实现数据驱动增长!

一、引言 在互联网时代&#xff0c;App的推广和运营面临着前所未有的挑战。随着流量红利的衰退&#xff0c;如何高效、精准地触达目标用户&#xff0c;成为众多企业亟待解决的问题。今天&#xff0c;我们将为大家介绍一款能够破解App推广难题的神器——xinstall&#xff0c;它以…

2024年华东杯B题数学建模论文:基于车辆运动学转弯模型的自动驾驶规划问题

摘要 随着自动驾驶技术的发展&#xff0c;车辆转弯问题成为关键挑战。本文针对自动驾驶车辆在转弯过程中的数学建模、路径规划及避障策略进行了深入研究&#xff0c;旨在提升自动驾驶车辆的行驶安全性与效率。 针对问题1&#xff0c;对于四轮前轮驱动车辆的转弯问题&#xff0c…

老胡的周刊(第146期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 pingvin-share[2] Pingvin Share 是一个可自…

【经典算法OJ题讲解】

1.移除元素 经典算法OJ题1&#xff1a; 移除元素 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/remove-element/desc…

vue3滚动日历选择器

倒叙日历&#xff1a; <template><div class"date-picker"><div class"column" wheel"onYearScroll"><div v-for"(year, index) in displayedYears" :key"index" :class"{current: year current…

只知道无人机能航拍,你已经out啦!!!

无人机行业应用相当广泛&#xff0c;涵盖了航拍、植保、测绘、巡检、安防、物流等多个领域。并且随着科技的不断发展&#xff0c;无人机技术也在不断创新和完善。无人机行业的应用具有多重优势&#xff0c;这些优势使得无人机在众多领域中得以广泛应用并取得显著的成效。 航拍…

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时&#xff0c;我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗&#xff1f;希望大家帮帮我&#xff0c;非常感谢&#xff01;” 在这个数字化飞速发展的时代&#xff0c;电脑早已成为我们日常生活和工作中不可或缺的一部…