• 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
    
    • 1

    spring:

    jmx:

    enabled: false
    
    • 1

    servlet:

    multipart:
    
      max-file-size: 20MB
    
      max-request-size: 20MB
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    redis:

    database: 10
    
    host: redis
    
    port: 6379
    
    timeout: 15s
    
    jedis:
    
      pool:
    
        max-active: 1000
    
        max-wait: -1ms
    
        min-idle: 4
    
        max-idle: 20
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    select-strategy: not_null

    banner: false
    
    • 1

    configuration:

    map-underscore-to-camel-case: true
    
    cache-enabled: true
    
    call-setters-on-nulls: true
    
    • 1
    • 2
    • 3
    • 4
    • 5

    logging:

    file: logs/modules.admin.prod.log

    level.com: warn

    第五步 Maven 打包生成war

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

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

  • 相关阅读:
    文件超期删除shell脚本
    FFmpeg入门详解之16:音频编码原理
    【论文阅读】MARS:用于自动驾驶的实例感知、模块化和现实模拟器
    深度学习 机器视觉 车位识别车道线检测 - python opencv 计算机竞赛
    Redis的set数据类型——Redis
    【常用搜索问题】111
    重学操作系统(二)进程管理
    【Vue.js】使用ElementUI实现增删改查(CRUD)及表单验证
    Java核心知识:包装类
    无限级树组件,支持纯展示、单选、多选、多选联动等模式
  • 原文地址:https://blog.csdn.net/weixin_37539225/article/details/134461229