SSM项目初始化流程与操作概念解释-SpringBoot简化版

文章目录

        • 1.引入概念
        • 2.导入依赖
        • 3.项目配置
        • 4.依照SpringMVC框架构建项目

1.引入概念

例如某一个XX系统,该系统存在前台页面(给用户直观看或使用),和后台页面(给管理人员调整数据和权限)。
这二个页面都通过后端对接数据库的数据,二个后端的模块因为存在功能的差异性而要单独设计,但是存在大量对表数据操作的重复代码(例如CRUD),从而引入了公共子模块(都能调用)。

GPT:公共子模块(Common Module)(常见命名:frameWork或Common)是一种独立的模块类型,它可以在多个项目或模块之间共享和重用。公共子模块通常包含一些通用的功能或代码,这些功能或代码可以被多个项目或模块共享。公共子模块可以独立构建和发布,从而提高了代码的重用性和可维护性。

为了组织控制这三个子模块(2后端1公共)引入父模块,用于整个项目依赖构建、维护。
实际体验(快速清理临时文件,构建):
![[photo/Pasted image 20231116160120.png]]

2.导入依赖

父模块xml:

    <!-- 依赖声明 -->  
    <dependencyManagement>  
        <dependencies>  
  
            <!-- SpringBoot的依赖配置-->  
            <dependency>  
                <groupId>org.springframework.boot</groupId>  
                <artifactId>spring-boot-dependencies</artifactId>  
                <version>2.5.15</version>  
                <type>pom</type>  
                <scope>import</scope>  
            </dependency>  
  
            <!--fastjson依赖-JSON数据的处理和转换-->  
            <dependency>  
                <groupId>com.alibaba</groupId>  
                <artifactId>fastjson</artifactId>  
                <version>1.2.33</version>  
            </dependency>  
  
            <!--jwt依赖-令牌-->  
            <dependency>  
                <groupId>io.jsonwebtoken</groupId>  
                <artifactId>jjwt</artifactId>  
                <version>0.9.0</version>  
            </dependency>  
  
            <!--mybatisPlus依赖-->  
            <dependency>  
                <groupId>com.baomidou</groupId>  
                <artifactId>mybatis-plus-boot-starter</artifactId>  
                <version>3.4.3</version>  
            </dependency>  
  
            <!--Excel工具 -->  
            <dependency>  
                <groupId>com.alibaba</groupId>  
                <artifactId>easyexcel</artifactId>  
                <version>3.0.5</version>  
            </dependency>  
  
            <!--swagger2接口文档-->  
            <dependency>  
                <groupId>io.springfox</groupId>  
                <artifactId>springfox-swagger2</artifactId>  
                <version>2.9.2</version>  
            </dependency>  
            <dependency>  
                <groupId>io.springfox</groupId>  
                <artifactId>springfox-swagger-ui</artifactId>  
                <version>2.9.2</version>  
            </dependency>  
  
<!--            &lt;!&ndash;阿里云OSS&ndash;&gt;-->  
<!--            <dependency>-->  
<!--                <groupId>com.aliyun.oss</groupId>-->  
<!--                <artifactId>aliyun-sdk-oss</artifactId>-->  
<!--                <version>3.10.2</version>-->  
<!--            </dependency>-->  
        </dependencies>

公共子模块:

    <dependencies>  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>  
        <!--lombk-->  
        <dependency>  
            <groupId>org.projectlombok</groupId>  
            <artifactId>lombok</artifactId>  
            <optional>true</optional>  
        </dependency>  
        <!--junit-->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-test</artifactId>  
        </dependency>  
        <!--SpringSecurity启动器-->  
<!--        <dependency>-->  
<!--            <groupId>org.springframework.boot</groupId>-->  
<!--            <artifactId>spring-boot-starter-security</artifactId>-->  
<!--        </dependency>-->  
        <!--redis依赖-->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-data-redis</artifactId>  
        </dependency>  
        <!--fastjson依赖-->  
        <dependency>  
            <groupId>com.alibaba</groupId>  
            <artifactId>fastjson</artifactId>  
        </dependency>  
        <!--jwt依赖-->  
        <dependency>  
            <groupId>io.jsonwebtoken</groupId>  
            <artifactId>jjwt</artifactId>  
        </dependency>  
        <!--mybatisPlus依赖-->  
        <dependency>  
            <groupId>com.baomidou</groupId>  
            <artifactId>mybatis-plus-boot-starter</artifactId>  
        </dependency>  
        <!--mysql数据库驱动-->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
        </dependency>  
        <!--AOP-->  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-aop</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>com.alibaba</groupId>  
            <artifactId>easyexcel</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>io.springfox</groupId>  
            <artifactId>springfox-swagger2</artifactId>  
        </dependency>  
        <dependency>  
            <groupId>io.springfox</groupId>  
            <artifactId>springfox-swagger-ui</artifactId>  
        </dependency>  
<!--        <dependency>-->  
<!--            <groupId>com.qiniu</groupId>-->  
<!--            <artifactId>qiniu-java-sdk</artifactId>-->  
<!--            <version>[7.7.0, 7.7.99]</version>-->  
<!--        </dependency>-->  
        <!--阿里云OSS-->  
<!--        <dependency>-->  
<!--            <groupId>com.aliyun.oss</groupId>-->  
<!--            <artifactId>aliyun-sdk-oss</artifactId>-->  
<!--        </dependency>-->  
    </dependencies>
3.项目配置

启动类:

@MapperScan("com.xyz66.mapper")  
@SpringBootApplication  
public class CsApplication {  
    public static void main(String[] args) {  
        SpringApplication.run(CsApplication.class);  
    }  
}

启动类配置(我用了mybatis-plus):

server:  
  port:8080  
spring:  
  datasource:  
    url: jdbc:mysql://localhost:3306/sg_blog?characterEncoding=utf-8&serverTimezone=UTC  
    username: {{自己的数据库名字}} 
    password: {{自己的数据库密码}} 
    driver-class-name: com.mysql.cj.jdbc.Driver  
  servlet:  
    multipart:  
      max-file-size: 2MB  
      max-request-size: 5MB  
# mybatis-plus的配置  
mybatis-plus:  
  configuration:  
    # 日志  
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  
  global-config:  
    db-config:  
      logic-delete-field: delFlag  
      logic-delete-value: 1  
      logic-not-delete-value: 0  
      id-type: auto
4.依照SpringMVC框架构建项目

设计一张表,用代码生成器或自己写实现表现层(web)、业务层(service)、数据层(dao)-CURD的代码。
我这里用的SpringBoot简化+EasyCode生成代码。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

世界坐标系,相机坐标系,像素坐标系转换 详细说明(附代码)

几个坐标系介绍,相机内外参的回顾参考此文。 本文主要说明如何在几个坐标系之间转换。 本文涉及: 使用相机内参 在 像素坐标系 和 相机坐标系 之间转换。使用相机外参(位姿)在相机坐标系 和 世界坐标系 之间转换。(qw,qx,qy,qz,tx,ty,tz)形式的外参如何使用。以具体情景为…

CSGO饰品持续跌价,市场真的要崩盘了吗?

CSGO饰品市场会崩盘吗&#xff1f;CSGO还能做多久&#xff1f; CSGO饰品持续跌价&#xff0c;市场真的要崩盘了吗&#xff1f; 除非v社那边有什么大动作&#xff0c;不然就市场而言&#xff0c;饰品恐怕永远不会崩盘。 原因其实很简单&#xff0c;只要庄家和大户不崩&#xf…

leetcode刷题日记:141. Linked List Cycle(环形链表)

这一题是给我们一个链表让我们判断这是否是一个环形链表&#xff0c;我们知道如果一个链表中有环的话这一个链表是没有办法访问到尾的&#xff0c; 假若有如图所示的带环链表&#xff1a; 我们从图示中很容易看出来这一个链表在访问的时候会在里面转圈&#xff0c;我们再来看看…

进程控制3——进程程序替换

进程的创建有fork&#xff0c;进程的退出有main函数的return&#xff0c;exit&#xff0c;_exit函数 而进程的退出中&#xff0c;一个进程的退出只能有三种情况&#xff0c;退出成功结果对/不对&#xff0c;或者是运行异常收到信号终止 但是我们发现我们用代码创建的子进程它是…

面试鸭 - 专注于面试刷题的网站

网上面试题有很多&#xff0c;但此套面试题真实、原创、高频&#xff0c;全网最强。 题目涵盖大中小公司&#xff0c;真实靠谱&#xff0c;有频率和难度的标记&#xff0c;助你成为Offer收割机。 面试鸭地址&#xff1a;https://mianshiya.skyofit.com/ 本套题是我原创&…

【Mysql】学习笔记

目录 基本操作登录指令&#xff1a;启动、关闭、重启mysql指令&#xff08;适用于centos7&#xff09;&#xff1a;查看mysql运行状态&#xff1a;删除和创建表 修改密码&#xff08;ubuntu18.04可行&#xff0c;其余版本行不行不知道&#xff09;3 使用MYSQL了解数据库和表 4 …

java基础--JVM的学习1--jvm基础和class文件的组成

文章目录 JVM概念JVM功能 JVM组成class文件一般信息 常量池字段方法 反编译 使用到了idea的jclasslib插件 JVM概念 全称Java Virtual Machine&#xff0c;java虚拟机。 将java字节码文件正确的加载和允许。 JVM功能 解释运行 对字节码指令实时的解释成机器码&#xff0c;让计…

【数字人】7、GeneFace++ | 使用声音和面部运动系数的关系作为 condition 来指导 NeRF 重建说话头

文章目录 一、背景二、相关工作2.1 唇形同步的 audio-to-motion2.2 真实人像渲染 三、方法3.1 对 GeneFace 的继承3.2 GeneFace 的结构3.2.1 Pitch-Aware Audio-to-Motion Transform3.2.2 Landmark Locally Linear Embedding3.2.3 Instant Motion-to-Video Rendering 四、效果 …

学人工智能等于失业?

随着科技的快速发展&#xff0c;人工智能已经渗透到我们生活的方方面面&#xff0c;从手机、智能家居到自动驾驶汽车&#xff0c;都离不开人工智能技术的支持。 因此&#xff0c;学习人工智能已经成为越来越多人追求高薪职业的选择。在这篇文章中&#xff0c;我们将探讨学习人…

Linux基本指令及周边(第一弹)

文章目录 前言mkdir指令&#xff08;重要&#xff09;&#xff1a;tree指令rmdir指令 && rm 指令(重要&#xff09;&#xff1a;touch指令ls指令pwd指令cd 指令用户家目录man指令&#xff08;重要&#xff09;&#xff1a;mv指令&#xff08;重要&#xff09;cat指令绝…

Linux 系统误将 chmod 权限改成 了 000,如何恢复?

Linux 系统误将 chmod 权限改成 了 000&#xff0c;如何恢复? busybox 是 Linux 标配&#xff0c;含有大多数主流 Linux 命令&#xff0c;你可以把它的存在当作救急备份。简单功能都可以调用 busybox 完成。这也就意味着很多原始命令出故障的情况下都可以用 busybox 暂时替代。…

调用本地大模型实现聊天机器人ChatBot

AWS Instance本地部署大模型 AWS上申请带GPU的instance&#xff0c;例如g4dn系列&#xff0c;申请instance后安装CUDA的driver&#xff0c;driver安装完成后&#xff0c;就可以在带gpu的instance上部署开源的大模型了。如果想了解在aws上部署本地模型细节&#xff0c;可以阅读…

upload-labs关卡11(双写后缀名绕过)通关思路

文章目录 前言一、回顾前几关知识点二、靶场第十一关通关思路1、看源代码2、bp抓包双写后缀名绕过3、检查文件是否成功上传 总结 前言 此文章只用于学习和反思巩固文件上传漏洞知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;不能随意去尚未授权的…

主键问题以及分布式 id

分布式 id 需要处理的问题主要是同一时间在多台机器中保证生成的 id 唯一&#xff0c;为了这么做我们可以这么做&#xff1a; 分布式 id 生成策略 先说几个已经被淘汰的策略引出分布式 id 的问题 1&#xff0c;UUID&#xff1a;UUID 随机并且唯一&#xff0c;在单一的数据库…

JS进阶——构造函数数据常用函数

1、深入对象 1.1 创建对象三种方式 1.1.1 利用对象字面量创建对象 1.1.2 利用new Object创建对象 1.1.3 利用构造函数创建对象 1.2 构造函数 构造函数&#xff1a;是一种特殊的函数&#xff0c;主要用来初始化对象 使用场景&#xff1a;常规的{...}语法允许创建一个对象。…

【数据结构】手撕双向链表

目录 前言 1. 双向链表 带头双向循环链表的结构 2. 链表的实现 2.1 初始化 2.2 尾插 2.3 尾删 2.4 头插 2.5 头删 2.6 在pos位置之前插入 2.7 删除pos位置 3.双向链表完整源码 List.h List.c 前言 在上一期中我们介绍了单链表&#xff0c;也做了一些练习题&…

IC设计企业,如何安全、可控、高效的传输设计文档和研发数据?

近年来&#xff0c;半导体的应用领域不断拓展&#xff0c;在全球经济和社会发展中的重要性与日俱增&#xff0c;半导体芯片是数字经济的核心&#xff0c;承载着现代产业发展&#xff0c;具有举足轻重的价值。从半导体行业的角度&#xff0c;IC设计是关键的一环&#xff0c;我国…

中科创达:坚定看好未来十五年的大模型机遇

中科创达是一家成立于2008年的智能操作系统产品和技术提供商&#xff0c;15年前公司成立的时候正赶上了安卓操作系统将功能手机推向了智能手机&#xff0c;截至目前&#xff0c;已赋能超过近9亿台手机走向市场。2014年中科创达开始拓展智能汽车方向&#xff0c;2015年拓展物联网…

CSGO的那些事儿:CS2这么差,为什么不改回CS1?

揭秘csgo饰品涨价背后的残酷真相 1、V社现在更新内容集中在游戏性的修复方面。 所以原来期望的新地图新大行动等&#xff0c;要等到游戏本体趋于稳定后才更新。但是&#xff0c;因为距离下一个大型活动&#xff0c;也就是丹麦major还有5个月时间&#xff0c;那这之间必然要有一…

kubernetes 高可用集群

目录 一、haproxy负载均衡 二、pacemaker高可用 三、部署control-plane 四、部署worker node 实验环境 主机名 IP 角色 docker 192.168.67.10 harbor k8s1 192.168.67.11 control-plane k8s2 192.168.67.12 control-plane k8s3 192.168.67.13 control-plane k8s…