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


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
    • 描述: 用户数据表。
    • 备注: 存储用户的具体数据信息。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部