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

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: 20MBmax-request-size: 20MB

datasource:

driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://mysql:3306/modules?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghaiusername: rootpassword: root

redis:

database: 10host: redisport: 6379timeout: 15sjedis:pool:max-active: 1000max-wait: -1msmin-idle: 4max-idle: 20

mybatis-plus:

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

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

global-config:

db-config:id-type: autologic-delete-value: 1logic-not-delete-value: 0insert-strategy: not_nullupdate-strategy: not_null

select-strategy: not_null

banner: false

configuration:

map-underscore-to-camel-case: truecache-enabled: truecall-setters-on-nulls: true

logging:

file: logs/modules.admin.prod.log

level.com: warn

第五步 Maven 打包生成war

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】(CTGAN)Modeling Tabular data using Conditional GAN

论文地址:[1907.00503] Modeling Tabular data using Conditional GAN (arxiv.org) 摘要 对表格数据中行的概率分布进行建模并生成真实的合成数据是一项非常重要的任务,有着许多挑战。本文设计了CTGAN,使用条件生成器解决挑战。为了帮助进行公…

如何去掉图片上的水印?这三种去水印的方法帮你解决!

当我们从网上看到喜欢的图片,想要保存下来作为头像或者插入到工作汇报中时,却发现下载的图片带有水印。这不仅影响了图片的美观,还可能对图片的可用性造成影响。那么,如何去掉图片上的水印呢? 实际上,现在市面上的很多…

【每日一题】数位和相等数对的最大和

文章目录 Tag题目来源题目解读解题思路方法一:哈希表 写在最后 Tag 【哈希表】【数组】【2023-11-18】 题目来源 2342. 数位和相等数对的最大和 题目解读 在数组中找出数位和相等数对的和的最大值。 解题思路 方法一:哈希表 维护一个不同的数位和表…

【Spring篇】使用注解进行开发

🎊专栏【Spring】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🥰欢迎并且感谢大家指出小吉的问题 文章目录 🌺原代码(无注解)🎄加上注解⭐两个注…

软磁交流测试仪系统磁参量指标

1. 主要应用 2. 软磁交流测试仪磁参量指标 被测参数 最佳测量不确定度 ( k 2 ) 1 kHz 最佳测量重复性 主要动态磁特性参数 Ps 2.0% 1.0% μa 3.0% 1.0% Bm 1.0% 0.5% Hm 1.0% 0.5% δ 5.0% 1.5% 其他磁特性参数供参考 Br 2.0% 1.0% Hc 3.0% 1.0% μ…

es 算法函数 有点不太懂了没有大神给指点一下

我先说一下我对算法分析的理解 算法函数,我们使用算法函数给指定的数据提高对应的值的方式 比如我现在要给一家酒店排名提高排名,我们可以利用算法函数,提高酒店排名,因为酒店的名称 相关算法的使用场景 在使用的时候出现了这…

代码示例:基于JAX-WS和JAXB,其中http请求和响应的报文体都是xml数据

说明 基于JAX-WS编写了RESTful的web服务端点。 http请求和响应的报文体都是xml数据,服务端分别对应了用JAXB注解的请求和响应类。 只实现了服务端的代码示例 客户端使用了Postman 示例 要实现的目标:http请求和响应报文体的xml数据 http请求报文体的…

快速提高编码生产力——中国用户如何使用Jetbrains内置的AI助手

文章目录 安装AI助手插件怎么在国内使用特殊工具先安排上系统设置代理IDE设置代理 使用案例 安装AI助手插件 此功能依赖于AI Assistant插件,您需要安装并启用该插件。 按打开 IDE 设置,然后选择插件。CtrlAltS打开Marketplace选项卡,找到AI…

Spring 如何自己创建一个IOC 容器

IOC(Inversion of Control),意思是控制反转,不是什么技术,而是一种设计思想,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 在传统的程序设计中,我们直接在对象内部通过new进行对象创建…

Swift 如何打造兼容新老系统的字符串分割(split)方法

0. 概览 在 Swift 的开发中,我们经常要与字符串打交道。其中一个常见的操作就是用特定的“分隔符”来分割字符串,这里分隔符可能不仅仅是字符,而是多字符组成的字符串。 从 iOS 16 开始, 新增了对应的方法来专注此事。不过&am…

zabbix的安装配置,邮件告警,钉钉告警

zabbix监控架构 zabbix优点 开源,无软件成本投入server对设备性能要求低支持设备多,自带多种监控模板支持分布式集中管理,有自动发现功能,可以实现自动化监控开放式接口,扩展性强,插件编写容易当监控的item…

Git详解及 github使用

1.1 关于版本控制 开始之前先看一个没有版本控制的例子 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的 好处就是简单,但是特别容易犯错。有时候会混淆所在…