【重磅开源】MapleBoot项目启动部署

news2024/10/6 2:22:10

基于SpringBoot+Vue3开发的轻量级快速开发脚手架

jdk-8 vue license

🍁项目简介

一个通用的前、后端项目模板

一个快速开发管理系统的项目

一个可以生成SpringBoot+Vue代码的项目

一个持续迭代的开源项目

一个程序员的心血合集

度过严寒,终有春日;挺过酷暑,必有丰收。

GitHub地址

Gitee地址

文档地址(更新中)

演示地址(储备中)

☕前置条件

clone项目

首先,将项目clone到本地,项目地址如下:

GitHub地址

Gitee地址

依赖环境

这里演示在Windowns环境下,使用Idea启动下项目。

启动项目,这里分为后端启动和前端启动,首先准备我们的环境依赖和开发工具:

  • JDK8
  • Maven
  • Mysql 8
  • Redis 3.2+
  • NodeJs 16+
  • IntelliJ IDEA

具体安装步骤可以参考笑小枫的按步照搬系列

导入项目

首先使用IntelliJ IDEA打开我们的项目File->Open,这里直接使用IntelliJ IDEA一起启动前端Vue项目了,所以直接打开了文件夹,如果使用VS Code打开前端项目,这里可以通过Maven的方式,只导入maple-admin项目即可。

image-20240419140051044

导入完,等待加载Maven依赖即可。

前端依赖下载

关于前端依赖,使用npm导入,打开Terminal,然后进入maple-web目录,执行npm i即可,如果使用npm下载失败,可以使用淘宝镜像cnpm i

cd maple-web

npm i

image-20240419152545306

初始化数据库

在我们的数据库中创建数据库maple-boot

创建后,导入我们的schema.sql文件中的表结构及初始化数据。后续会加入数据库版本管理工具,到时候可以自动完成创建。一步一步来吧

创建完数据库,修改我们的配置文件maple-admin-rest下的application-dev.yml,将配置中的数据库连接信息替换成自己的连接。

spring:
  datasource:
    dynamic:
      primary: xiaoxiaofeng #设置默认的数据源或者数据源组,默认值即为master
      strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
      datasource:
        xiaoxiaofeng:
          url: jdbc:mysql://127.0.0.1:3306/maple-boot?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
          username: root
          password: 123456
          driver-class-name: com.mysql.cj.jdbc.Driver

关于Redis

Redis启动起来就可以了,然后修改我们的配置文件maple-admin-rest下的application-dev.yml,将配置中的Redis连接信息替换成自己的连接。

项目中Redis只在登录的时候做了Token过期时间,剔出功能使用,如果不想接入Redis,把这块改掉即可。

spring:
  redis:
    database: 0
    host: 127.0.0.1
    password: 123456
    port: 6379

到此,我们的前置条件都满足了,接下来启动项目吧~

🚀启动项目

启动SpringBoot项目

设置端口和使用环境

修改maple-admin-rest下的application.yml文件

设置端口号:6666(如果更换端口,Vue请求地址同步更换,下面会说)

使用配置环境:dev

server:
  port: 6666
  
spring:
  profiles:
    active: dev

后端项目直接启动即可,可以在工具栏直接启动,也可以在Application.java上启动

image-20240419154032200

启动日志信息如下:

image-20240419155127981

启动Vue项目

修改后端接口地址,在vite.config.ts文件下,这里后端管理端接口统一加了manage前缀,这里直接配在接口上了。

image-20240419162828669

打开Terminal,然后进入maple-web目录,下载完依赖,直接使用命令npm run dev 启动即可。

启动成功如下:

image-20240419163018102

到此,我们的项目就启动成功了。

🌈验证启动

复制Local的连接,在谷歌浏览器中打开。

可以看到我们的登录页面

image-20240419163206493

然后点击登录按钮,如果可以成功登录,我们的项目就启动成功了。

📢项目部署

这里在Linux服务器上使用docker对项目进行部署操作。环境需要安装Docker容器。

关于Docker操作,可以查看文章【Docker安装软件,一篇就够了】Docker安装,Docker安装Mysql8.0、Redis、RabbitMQ及常用命令

后端部署

首先可以修改自己服务器上的配置,和启动的端口号,然后把项目打成Jar包。

image-20240422173418771

maple-admin-rest模块下可以看到我们生成的Jar包;

image-20240422173545012

JarDockerfile文件一起上传到我们服务器的指定目录(注意:需要在同一目录)。

image-20240423103408865

打包镜像,执行命令

docker build -t maple-boot:1.0.0 .

image-20240423103639782

启动项目,执行命令

docker run -d --privileged=true --name maple-boot -p 6666:6666 imageId

启动完可以用docker ps查看一下是否启动成功。

可以访问 地址:端口号/doc.html 查看接口文档。

接口文档登录信息可以在application-dev.yml配置文件中调整

knife4j:
  # 开启增强配置
  enable: true
  # 开启生产环境屏蔽
  production: false
  # 开启Swagger的Basic认证功能,默认是false
  basic:
    enable: true
    # Basic认证用户名
    username: xiaoxiaofeng
    # Basic认证密码
    password: 123456

前端部署

后端项目启动成功后,在.env.production文件下修改我们的后端访问地址。

# 线上环境接口地址
VITE_API_URL = http://xxxxxxx:6666/manage/

然后打开Terminal,进入maple-web目录,使用命令npm run build 进行打包。

打包后上传到服务器上,我这里放的/data/maple-boot-web/web目录下

image-20240424134510284

启动命令

# docker下载nginx镜像,也可指定版本docker pull nginx:xxx
docker pull nginx

# 启动项目
docker run -d -p 80:80 -v /data/maple-boot-web/web:/usr/share/nginx/html --name maple-boot-web imageId

启动成功后,可以在浏览器中访问,然后进行登录即可,到此项目启动部署就完成了。

image-20240424134416270

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

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

相关文章

算法学习002-填数游戏 中小学算法思维学习 信奥算法解析 c++实现

目录 C填数游戏 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C填数游戏 一、题目要求 1、编程实现 在小学奥数中经常会看到一些填数字的游戏,如下图所示,其中每个…

windows下pysqlite3安装

pysqlite3 下载地址:SQLite Download Page windows下安装 首先在官网中下载以下文件 sqlite-amalgamation-3450300.zip #源码文件 sqlite-dll-win-x64-3450300.zip # 根据系统选择32或者64,可通过查看我的电脑属性中查看 sqlite-tools-win-x64-345…

VSCODE通过SFTP链接VM进行开发

在vscode插件里面搜索sftp,安装。 安装之后,按ctrlshiftp,找到sftp的config 然后填写刚刚的IP,然后是你的用户名密码 如果是通过密钥链接的话就是这样配置 然后切换到这个sftp的tab里面 然后在你的项目右键,然后选择op…

线上盲盒小程序:未来发展趋势与前景展望

随着互联网技术的飞速发展和消费者对于个性化、娱乐化消费体验的不断追求,线上盲盒小程序应运而生,并逐渐成为一种新兴的购物和娱乐方式。本文将对线上盲盒小程序的发展趋势和前景进行展望,以期为相关从业者提供有益的参考。 一、线上盲盒小…

最新 COCO数据集的下载、使用方法demo最新详细教程

📸 最新 COCO数据集的下载、使用方法demo最新详细教程 🌐 文章目录 📸 最新 COCO数据集的下载、使用方法demo最新详细教程 🌐摘要引言正文📘 COCO数据集概览🚀 下载和设置COCO数据集环境准备下载数据集 &am…

推荐:两个工作利器Snipaste和ScreenToGif

引言 本文为推荐文,个人工作中使用的两款工具,介绍推荐之。 Snipaste 简介 Snipaste是一款简单但功能强大的截图工具。 免费版功能特点: 矩形截图,自动检测窗口,无需手动选区。 添加矩形、椭圆形状,可设置…

QT httpServer多线程后台服务器的例子实现

1.需求 1.1 用户需要其他平台(web端)调用Qt平台的接口,获取想要的数据并实时显示在网页里,比如实时的温湿度,用户数据等 1.2 用户需要在其他平台(web端)调用Qt平台的接口,下发数据…

值得收藏!AMI BIOS蜂鸣声代码一览表,让你在排除故障时有的放矢

序言 AMI BIOS是美国Megatrends公司生产的一种BIOS。许多流行的主板制造商已经将AMI的BIOS集成到他们的系统中。 其他主板制造商已经创建了基于AMI BIOS系统的自定义BIOS软件。基于AMI BIOS的BIOS发出的蜂鸣声代码可能与下面的真实AMI BIOS蜂鸣声代码完全相同,也可能略有不同…

Eclipse内存分析器 Java内存分析工具MAT(Memory Analyzer Tool)的介绍与使用

1.visualvm实时监测 2.Memory Analyzer Tool打开 3.工具的使用可以参考 Java内存分析工具MAT(Memory Analyzer Tool)的介绍与使用 ------------------------ 1.我远程发现是其中一个客户端A请求服务器页面响应,一直得不到响应,然后客户端A一直请求&am…

C语言——字符串和字符串函数

一、字符串 实际上C语言中实际上是没有内置的字符串类型的,大部分字符串都是以字符型数组和常量字符串的形式存在的。 字符串可以通过多种方式在C语言中声明和初始化: 直接初始化: char greeting[] "Hello, world!"; 在这个例…

0417GoodsImgTomCat项目 实现添加储存图片 分页查询图片

0417GoodsImgTomCat项目包-CSDN博客 数据库字段: 界面效果

【Vivado那些事儿】使用 Python 提取 ILA 数据

ILA应该是调试AMD-Xilinx FPGA最常用的IP。 在调试中,我们希望 ILA 中的波形可以提供有关设计问题的所有信息,但情况并非如此。对于复杂的调试,我们还需要将 ILA 捕获的真实数据存储到可以进一步处理的文件中。根据放置 ILA 的位置&#xff0…

笔试刷题-Day10

牛客 一、DP30买卖股票的最好时机(一) 算法:虽然题目标了DP但是用贪心更快页更容易理解 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Sca…

场外个股期权开户新规及操作方法

场外个股期权开户新规 场外个股期权开户新规主要涉及对投资者资产实力、专业知识、风险承受能力和诚信记录的要求。以下是根据最新规定总结的关键要点: 来源/:股指研究院 资产门槛:投资者需具备一定的资产实力,确保在申请开户前…

十五、freeRTOS_移植与内部实现

1.链表操作 1.1普通链表操作 #include "usart.h"#include <stdio.h> #include <string.h> #include <stdlib.h>struct person {char *name;int age;struct person *couple; };struct person w; struct person h;int main(int argc, char **arg) …

【免费Java系列】给大家出一些JavaSE基础第八天的内容案例 , 让大家更好的理解与掌握

String字符串 案例一 求取字符串的长度 public class Main {public static void main(String[] args) {String str "Hello World";String substring str.substring(6);System.out.println("截取后的字符串为&#xff1a;" substring);} }输出结果&…

使用新版ESLint,搭配Prettier使用的配置方式

概述 ESLint重大更新(9.0.0版本)后,将不再支持非扁平化配置文件,并且移除了与Prettier冲突的规则,也就是说与Prettier搭配使用,不再需要使用插件“eslint-config-prettier”来处理冲突问题。 注:使用新版的前提条件是Node.js版本必须是18.18.0、20.9.0,或者是>=21.1…

DiffSeg——基于Stable Diffusion的无监督零样本图像分割

概述 基于计算机视觉的模型的核心挑战之一是生成高质量的分割掩模。大规模监督训练的最新进展已经实现了跨各种图像风格的零样本分割。此外&#xff0c;无监督训练简化了分割&#xff0c;无需大量注释。尽管取得了这些进展&#xff0c;构建一个能够在没有注释的零样本设置中分…

解码Android应用:探索apk.sh的简化反向工程之道

解码Android应用&#xff1a;探索apk.sh的简化反向工程之道 引言 在当今数字化时代&#xff0c;Android应用的反向工程变得越来越重要。无论是应用开发者还是安全研究人员&#xff0c;都需要深入了解应用的内部结构和行为。然而&#xff0c;传统的反向工程过程常常繁琐复杂&a…

WiTUnet:一种集成CNN和Transformer的u型架构,用于改进特征对齐和局部信息融合

WiTUnet:一种集成CNN和Transformer的u型架构&#xff0c;用于改进特征对齐和局部信息融合 摘要IntroductionRelated workMethod WiTUnet: A U-Shaped Architecture Integrating CNN and Transformer for Improved Feature Alignment and Local Information Fusion. 摘要 低剂量…