SpringBoot 2.x 实战仿B站高性能后端项目

news2024/12/22 19:49:10

SpringBoot 2.x 实战仿B站高性能后端项目

下栽の地止:请看文章末尾


在这里插入图片描述

通常SpringBoot新建项目,默认是集成了Maven,然后所有内容都在一个主模块中。
如果项目架构稍微复杂一点,就需要用到Maven多模块。
本文简单概述一下,新建一个SpringBoot Maven 多模块项目的流程。
具体内容还需要参考你具体的项目中的实际需求,
我这里只按照大多数通常的情况为准创建一个基础款demo。
另外模块都只基于Maven的默认模板进行创建,
需要SpringBoot是用手动新建文件的方式来实现。

环境:

  • Java 1.8
  • IntelliJ IDEA 2020.01
  • Maven 3.3.9
  • SpringBoot 2.2.6.RELEASE
  • Mybatis Plus 3.3.1

折腾

第一步 新建一个maven项目
1 新建项目 Create New Project

2 选择Maven 然后直接下一步

3 根据需要修改配置,然后Finish即可

4 直接删除不需要的文件夹和文件,如 src文件夹

第二步 新建子模块
右击项目 -> New -> Module

同样选择Maven 直接下一步 完成

重复以上步骤,建立所有需要的子模块
并删除不需要的文件或文件夹
例如test文件夹

第三步 配置Maven
主项目 pom.xml

打包时,工具类的会先生成jar包,并引入到接口类中,接口类再生成war包,可以放Tomcat下运行

第四步 配置SrpingBoot
接口类加入启动类和配置文件

手动创建启动类
ModuleAdminApplication.java

生产环境

server:

port: 10000

servlet:

context-path: /modules/admin/prod

spring:

jmx:

enabled: false

servlet:

multipart:

  max-file-size: 20MB

  max-request-size: 20MB

datasource:

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://mysql:3306/modules?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai

username: root

password: root

redis:

database: 10

host: redis

port: 6379

timeout: 15s

jedis:

  pool:

    max-active: 1000

    max-wait: -1ms

    min-idle: 4

    max-idle: 20

mybatis-plus:

mapper-locations: classpath*:/mapper/*.xml

type-aliases-package: com.demo.modules.admin.serivce

global-config:

db-config:

  id-type: auto

  logic-delete-value: 1

  logic-not-delete-value: 0

  insert-strategy: not_null

  update-strategy: not_null

select-strategy: not_null

banner: false

configuration:

map-underscore-to-camel-case: true

cache-enabled: true

call-setters-on-nulls: true

logging:

file: logs/modules.admin.prod.log

level.com: warn

第五步 Maven 打包生成war

直接用Idea自带的可视化即可。
先去settings中配置好maven目录

在Maven面板中找到根项目,
选择clean
再选择install
大功告成

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

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

相关文章

23111709[含文档+PPT+源码等]计算机毕业设计基于Spring Boot智能无人仓库管理-进销存储

文章目录 **软件开发环境及开发工具:****功能介绍:****论文截图:****数据库:****实现:****代码片段:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 软件开发环境及…

最新AI创作系统ChatGPT系统运营源码+支持GPT-4多模态模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

iPhone 拨打分机号码

iPhone 拨打分机号码 假设现在一个电话号码12345678-9999,如何用iPhone拨打这个电话? 错误拨号方式 在拨号页面输出12345678拨打电话,会得到语言提示”请直播分机号码“。 在拨号页面输出123456789999拨打电话,会得到语音提示…

【打卡】牛客网:BM55 没有重复项数字的全排列

自己写的&#xff1a; 虽然题目要求了排序&#xff0c;但是我没排序也可以通过。 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param num int整型vector * return int整型vector<vec…

CSS特效013:背景色彩不停流动效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS…

注解方式优雅的实现 Redisson 分布式锁

1前言 日常开发中&#xff0c;难免遇到一些并发的场景&#xff0c;为了保证接口执行的一致性&#xff0c;通常采用加锁的方式&#xff0c;因为服务是分布式部署模式&#xff0c;本地锁Reentrantlock和Synchnorized这些就先放到一边了&#xff0c;Redis的setnx锁存在无法抱保证…

和鲸科技创始人范向伟受邀出席“凌云出海,来中东吧”2023华为云上海路演活动

11月9日&#xff0c;华为云“凌云出海&#xff0c;来中东吧”系列路演活动第二场在上海正式开启。聚焦“创业全球化”&#xff0c;本次活动由华为云携手阿布扎比投资办公室&#xff08;ADIO&#xff09;举办&#xff0c;旨在与渴望出海发展的优秀创业者们共探出海中东新商机。 …

各品牌PLC元件在modbus内区域

1台达&#xff1a; 输出在0区&#xff0c; 040961是在 0区 0xA000~0xA0FF 【Y0~Y377】 输入在1区&#xff0c;124577是在 1区 0x6000~0x60FF 【X0~X377】 M寄存器0区&#xff0c;0000001是 0区&#xff0c;0x000~0x1FFF 【M0~M8191】 D寄存器4区&#xff0c;400000…

【完美世界】石昊身上宝术至尊骨、上苍之手和轮回宝术哪个最强

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 完美世界动画中&#xff0c;石昊通过举起天人族的镇教之宝飞仙石&#xff0c;终于补全了第一块至尊骨的天赋宝术-上苍之手。然而&#xff0c;这只是开始&#xff0c;上苍之手的终极奥义还需要他慢慢领悟。 在…

Pandas+Matplotlib 数据分析

利用可视化探索图表 一、数据可视化与探索图 数据可视化是指用图形或表格的方式来呈现数据。图表能够清楚地呈现数据性质&#xff0c; 以及数据间或属性间的关系&#xff0c;可以轻易地让人看图释义。用户通过探索图&#xff08;Exploratory Graph&#xff09;可以了解数据的…

在通用jar包中引入其他spring boot starter,并在通用jar包中直接配置这些starter的yml相关属性

场景 我在通用jar包中引入 spring-boot-starter-actuator 这样希望引用通用jar的所有服务都可以直接使用 actuator 中的功能&#xff0c; 问题在于&#xff0c;正常情况下&#xff0c;actuator的配置都写在每个项目的yml文件中&#xff0c;这就意味着&#xff0c;虽然每个项目…

Java 之拼图小游戏

声明 此项目为java基础的阶段项目,此项目涉及了基础语法,面向对象等知识,具体像语法基础如判断,循环,数组,字符串,集合等…; 面向对象如封装,继承,多态,抽象类,接口,内部类等等…都有涉及。此项目涉及的内容比较多,作为初学者可以很好的将前面的知识串起来。此项目拿来练手以及…

基于Pytorch的从零开始的目标检测

引言 目标检测是计算机视觉中一个非常流行的任务&#xff0c;在这个任务中&#xff0c;给定一个图像&#xff0c;你预测图像中物体的包围盒(通常是矩形的) &#xff0c;并且识别物体的类型。在这个图像中可能有多个对象&#xff0c;而且现在有各种先进的技术和框架来解决这个问…

物联网AI MicroPython学习之语法UART通用异步通信

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; UART 介绍 模块功能: UART通过串行异步收发通信 接口说明 UART - 构建UART对象 函数原型&#xff1a;UART(id, baudrate&#xff0c;bits, parity&#xff0c;stop, tx, rx)参数说明&#xff1a; 参数类…

Ubuntu22.04 Apache2安装SSL证书 https

一、免费证书申请 https://help.aliyun.com/zh/ssl-certificate/user-guide/overview-of-free-certificates 得到 三、配置 执行以下命令&#xff0c;打开default-ssl.conf文件。 vim /etc/apache2/sites-available/default-ssl.conf 在default-ssl.conf配置文件中&#xff…

Docker与Kubernetes结合的难题与技术解决方案

文章目录 1. **版本兼容性**技术解决方案 2. **网络通信**技术解决方案 3. **存储卷的管理**技术解决方案 4. **安全性**技术解决方案 5. **监控和日志**技术解决方案 6. **扩展性与自动化**技术解决方案 7. **多集群管理**技术解决方案 结语 &#x1f388;个人主页&#xff1a…

C# 实现腾讯云多路直播流的云端混合录制

目录 应用场景 腾讯云直播和云点播 产品架构 混流显示示例 关键代码 API实现 小结 应用场景 在云考试或视频面试中&#xff0c;除了对考生、考官的实时音视频监控以防止作弊行为的发生以外&#xff0c;对直播流的音视频录制也尤为重要&#xff0c;可做为后期证据材料进…

MFA多因子认证

什么是多因子认证&#xff08;MFA&#xff09;&#xff1f;为什么需要MFA&#xff1f; 同义词 多因子认证或者多因素验证 [尤其是需要做等级保护测评的时候需要用到] 摘要 多因子认证MFA&#xff08;Multi Factor Authentication&#xff09;是一种安全认证过程&#xff0c;需…

【配置环境】VS Code怎么使用JavaScript的Mocha测试框架和Chai断言库

一&#xff0c;环境 Windows 11 家庭中文版&#xff0c;64 位操作系统, 基于 x64 的处理器VS Code 版本: 1.83.1 (user setup)Node.js 版本&#xff1a;20.9.0 二&#xff0c;安装背景 在运行测试用例时遇到 ReferenceError: describe is not defined 错误&#xff0c;网上搜寻…

信息系统项目管理师 第四版 第2章 信息技术发展

1.信息技术及其发展 1.1.计算机软硬件 程序是计算任务的处理对象和处理规则的描述、文档是为了便于了解程序所需的闸明性资料。来自P37 程序必须安装入机器内部才能工作&#xff0c;文档一般是给人看的&#xff0c;不一定安装入机器。来自P37 计算机的某些功能既可以由硬件…