首页 > 其他分享 >JeecgBoot入门

JeecgBoot入门

时间:2024-11-03 22:47:27浏览次数:1  
标签:0.12 入门 JeecgBoot redis echo cnf install mysql

最近在了解低代码平台,其中关注到gitee上开源项目JeecgBootJeecgBoot官方也有比较完整的入门教学文档,这里我们将耕者官方教程学习,并将其记录下来。

一、项目简介

JeecgBoot 是一款基于代码生成器的低代码开发平台拥有零代码能力;

  • 采用前后端分离架构:SpringBoot2.xAnt Design&VueMybatis-plusShiroJWT
  • 强大的代码生成器让前后端代码一键生成,无需写任何代码!
  • JeecgBoot引领新的开发模式(Online Coding模式-> 代码生成器模式-> 手工MERGE智能开发), 帮助解决Java项目70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省成本,同时又不失灵活性!
  • JeecgBoot还独创在线开发模式(No-Code概念):在线表单配置(表单设计器)、移动配置能力、工作流配置(在线设计流程)、报表配置能力、在线图表配置、插件能力(可插拔)等等!

1.1 微服务架构图

1.2 系统架构图

二、开发环境准备

2.1 开发环境搭建

前端环境准备:

后端环境软件:

这里将所有软件打包整理好, 可以一次性下载

2.1.1 nvm安装

由于我的电脑之前已经安装过v16.15.1版本,因此这里我首先需要卸载之前安装的版本;

C:\Users\Administrator>node -v
v16.15.1

直接通过windows程序管理器卸载即可。

前往官网下载nvm,选择一个路径安装,注意:安装路径中不能包含中文或有空格的路径。

安装完成后打开cmd,输入如下命令显示nvm的版本号即表示安装成功;

C:\Users\Administrator>nvm version
1.1.12

打开安装目录,找到settings.txt文件,双击打开它;

增加以下配置后保存(使用淘宝镜像):

root: E:\Program Files\nvm
path: E:\Program Files\nodejs

# 配置node镜像:
node_mirror: https://npmmirror.com/mirrors/node/
 
# 配置npm镜像:
npm_mirror: https://npmmirror.com/mirrors/npm/
2.1.2 node安装

重新打开cmd,查看可以安装的node版本;

C:\Users\Administrator>nvm list available

|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    23.1.0    |   22.11.0    |   0.12.18    |   0.11.16    |
|    23.0.0    |   20.18.0    |   0.12.17    |   0.11.15    |
|   22.10.0    |   20.17.0    |   0.12.16    |   0.11.14    |
|    22.9.0    |   20.16.0    |   0.12.15    |   0.11.13    |
|    22.8.0    |   20.15.1    |   0.12.14    |   0.11.12    |
|    22.7.0    |   20.15.0    |   0.12.13    |   0.11.11    |
|    22.6.0    |   20.14.0    |   0.12.12    |   0.11.10    |
|    22.5.1    |   20.13.1    |   0.12.11    |    0.11.9    |
|    22.5.0    |   20.13.0    |   0.12.10    |    0.11.8    |
|    22.4.1    |   20.12.2    |    0.12.9    |    0.11.7    |
|    22.4.0    |   20.12.1    |    0.12.8    |    0.11.6    |
|    22.3.0    |   20.12.0    |    0.12.7    |    0.11.5    |
|    22.2.0    |   20.11.1    |    0.12.6    |    0.11.4    |
|    22.1.0    |   20.11.0    |    0.12.5    |    0.11.3    |
|    22.0.0    |   20.10.0    |    0.12.4    |    0.11.2    |
|    21.7.3    |    20.9.0    |    0.12.3    |    0.11.1    |
|    21.7.2    |   18.20.4    |    0.12.2    |    0.11.0    |
|    21.7.1    |   18.20.3    |    0.12.1    |    0.9.12    |
|    21.7.0    |   18.20.2    |    0.12.0    |    0.9.11    |
|    21.6.2    |   18.20.1    |   0.10.48    |    0.9.10    |

This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases

安装想要的版本,命令:nvm install + 版本号,例如:

C:\Users\Administrator>nvm install 20.15.0
Downloading node.js version 20.15.0 (64-bit)...
Extracting node and npm...
Complete
npm v10.7.0 installed successfully.


Installation complete. If you want to use this version, type

nvm use 20.15.0

使用要用的node版本,命令:nvm use + 版本号,例如:

C:\Users\Administrator>nvm use 20.15.0
Now using node v20.15.0 (64-bit)

查看当前正在使用的版本,命令:

C:\Users\Administrator>node -v
v20.15.0
2.1.3 pnpm安装

全局安装pnpm

npm install pnpm -g

验证pnpm版本:

C:\Users\Administrator>pnpm -v
9.12.3
2.1.4 JDK17

下载JDK17,直接无脑下一步安装,此时我的电脑已经安装了三个版本;

安装完成后配置环境变量。找到此电脑右键->属性->高级系统设置->环境变量。

找到系统变量->Path编辑,添加:D:\Program Files\Java\jdk-17\bin

打开命令行控制台输入命令:

C:\Users\Administrator>java --version
java 17.0.11 2024-04-16 LTS
Java(TM) SE Runtime Environment (build 17.0.11+7-LTS-207)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.11+7-LTS-207, mixed mode, sharing)
2.1.5 maven

我电脑之前已经安装了3.6.1版本,这个版本可以不用升级,因此我就不安装高版本了。

2.1.6 mysql

这里我将mysql安装到我的云服务器上,将如下install.sh脚本和mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz文件拷贝到/data路径下,然后运行安装脚本即可安装mysql

其中:mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz包下载路径如下:https://pan.baidu.com/s/1HTwF8nVxrg1JCUt5MEOxbg?pwd=j9nr 提取码:j9nr

# /bin/bash
# 参考 https://blog.csdn.net/atongmu2017/article/details/90610444
# mysql安装包路径
mysql_tar=/data/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz
install_path=/data
mysql_pwd=test123!@#

if [[ ! -f ${mysql_tar} ]];then
    echo 'mysql安装包不存在'
    exit 0
fi

if [[ -d ${install_path}/mysql ]];then
    echo 'mysql已经安装..................'
    exit 0
fi

#解压
echo '开始解压mysql安装包................'
tar -xvf ${mysql_tar} 
mv mysql-8.0.13-linux-glibc2.12-x86_64 mysql
mv mysql ${install_path}

# 创建用户和用户组
echo '开始创建用户和用户组..................'
cd ${install_path}
groupadd mysql
useradd -r -g mysql mysql
cd mysql
chown -R mysql:mysql ./
passwd mysql ${mysql_pwd}

#初始化数据库,并会自动生成随机密码,记下等下登陆要用 
echo '开始初始化数据库...................'
mkdir data
password=`bin/mysqld --initialize --user=mysql --basedir=./ --datadir=./data 2>&1 | grep 'root@localhost:' | awk '{print $13}' `
if [[ $? != 0 ]] ; then
    echo 'mysql安装失败'
else
    echo 密码是${password}
fi

#修改/usr/local/mysql当前目录得用户 
chown -R root:root ./
chown -R mysql:mysql data

#开始配置/etc/my.cnf
mysql_cnf=/etc/my.cnf
if [[ -f ${mysql_cnf} ]];then
   echo ${mysql_cnf}文件已经存在
   mv ${mysql_cnf} ${mysql_cnf}.bak
fi

echo 开始创建${mysql_cnf}......
touch ${mysql_cnf}
echo "[mysqld]" > ${mysql_cnf}
echo "basedir = ${install_path}/mysql" >> ${mysql_cnf}
echo "datadir = ${install_path}/mysql/data" >> ${mysql_cnf}
echo "socket = /tmp/mysql.sock" >> ${mysql_cnf}
echo "log-error = ${install_path}/mysql/data/error.log" >> ${mysql_cnf}
echo "pid-file = ${install_path}/mysql/data/mysql.pid" >> ${mysql_cnf}
echo "tmpdir = /tmp" >> ${mysql_cnf}
echo "port = 3306" >> ${mysql_cnf}
echo "max_allowed_packet=32M" >> ${mysql_cnf}
echo "default-authentication-plugin = mysql_native_password" >> ${mysql_cnf}
echo "log_bin_trust_function_creators = ON" >> ${mysql_cnf}
echo "sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES" >> ${mysql_cnf}

#开始自启动
echo '设置mysql开机自启动........'
cd support-files
cp mysql.server /etc/init.d/mysql 
chmod +x /etc/init.d/mysql

if [[ -f ${install_path}/mysql/lib ]];then
   echo ${install_path}/mysql/lib文件已经存在
else
  echo "${install_path}/mysql/lib" >> /etc/ld.so.conf
fi

#配置环境变量
echo "export PATH="'$PATH'":${install_path}/mysql/bin:${install_path}/mysql/lib" >> /etc/profile
source /etc/profile

#启动服务
echo `service mysql start`

#连接数据库
mysql -u root -p ${password}
alter user 'root'@'localhost' identified by "${mysql_pwd}";

#开启navcat远程连接
use mysql;
select host, user, authentication_string, plugin from user;
update  user set host='%' where user='root';    
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY "${mysql_pwd}";
FLUSH PRIVILEGES;
exit;
2.1.7 redis
2.1.7.1 下载

这里我同样将redis安装到我的云服务器上;

ubuntu@VM-4-9-ubuntu:/data$ sudo wget http://download.redis.io/releases/redis-5.0.7.tar.gz

下载完成后需要将压缩文件解压,输入以下命令解压到当前目录;

sudo tar -zvxf redis-5.0.7.tar.gz

解压后在根目录上输ls列出所有目录会发现与下载redis之前多了一个redis-5.0.7.tar.gz文件 redis-5.0.7的目录。

2.1.7.2 编译安装

进入 redis-5.0.7目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容;

sudo make

编译完成后输出如下命令安装:

make PREFIX=/usr/local/redis install

这里多了一个关键字 PREFIX=这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,

库文件会存放在/usr/local/lib目录,配置文件会存放在/usr/local/etc目录,其它的资源文件会存放在/usr/local/share目录。

这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis即可删除redis

2.1.7.3 配置

在目录/usr/local/redis下有一个redis.conf的配置文件。这里列举下比较重要的配置项;

配置项名称 配置项值范围 说明
daemonize yes、no yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port 指定redis监听端口,默认端口为6379
bind 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-mode yes 、no 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接redis服务则需要将此属性改为no。
timeout 300 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
loglevel debug、verbose、notice、warning 日志级别,默认为 notice
databases 16 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompression yes、no 指定存储至本地数据库时是否压缩数据,默认为 yes,redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilename dump.rdb 指定本地数据库文件名,默认值为 dump.rdb
dir 指定本地数据库存放目录
requirepass 设置 redis 连接密码,如果配置了连接密码,客户端在连接 redis 时需要通过AUTH 命令提供密码,默认关闭
maxclients 0 设置同一时间最大客户端连接数,默认无限制,redis 可以同时打开的客户端连接数为 redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemory XXX 指定 redis 最大内存限制,redis 在启动时会把数据加载到内存中,达到最大内存后,redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。

这里我们需要修改如下几个配置项:

  • 这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭’
  • bind注释,将protected-mode设置为no;这样启动后我就可以在外网访问了;
  • 设置requirepassredis!@#

在目录/usr/local/redis输入下面命令启动redis

./bin/redis-server ./redis.conf

查看redis进程是否在运行;

ps -aux | grep redis

2.2 idea启动项目

有关idea的安装这里我就不介绍了,网上相关资料太多了。接着我们去下载jeecg-boot源码;

G:\project\PHM>git clone https://gitee.com/jeecg/JeecgBoot.git
Cloning into 'JeecgBoot'...
remote: Enumerating objects: 32761, done.
remote: Counting objects: 100% (5928/5928), done.
remote: Compressing objects: 100% (3718/3718), done.
remote: Total 32761 (delta 2106), reused 5159 (delta 1501), pack-reused 26833
Receiving objects: 100% (32761/32761), 60.60 MiB | 5.10 MiB/s, done.
Resolving deltas: 100% (15779/15779), done.
Updating files: 100% (3129/3129), done.

项目目录结构如下;

2.2.1 初始化数据库

使用navcat工具连接云服务器上的mysql数据库,执行sql脚本 jeecg-boot/db/jeecgboot-mysql-5.7.sql

脚本作用:会自动创建库jeecg-boot, 并初始化数据 。

2.2.2 安装maven依赖
2.2.3 修改配置文件

配置文件: jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml

修改数据库配置:


修改redis配置;


2.2.4 启动项目
2.2.5 访问接口文档

参考文章

[1] JeecgBoot 开发文档

[2] 同时安装多个nodejs版本可切换使用,或者用nvm管理、切换nodejs版本

标签:0.12,入门,JeecgBoot,redis,echo,cnf,install,mysql
From: https://www.cnblogs.com/zyly/p/18524159

相关文章

  • git入门教程
    git入门教程1:git简介git入门教程2:git发展历史git入门教程3:安装配置git入门教程4:git工作流程git入门教程5:git仓库操作git入门教程6:git基本版本控制git入门教程7:git与远程仓库的交互git入门教程8:git高级分支管理git入门教程9:配置Git钩子git入门教程10:git性能优化git入门教程11......
  • 《python爬虫入门教程03--重剑无峰168》
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档python爬虫入门教程03前言一、urllib.request.urlretrieve()函数的介绍?二、使用示例总结前言本此程序主要演示python爬虫来简单爬取网页、图片、视频的示例。但是这是一个简单版的,一些未经过处理的网......
  • Hive操作基础(入门篇)
    Hive执行流程Hive架构MetaStore三种服务模式内嵌模式:  优点:配置简单hive命令直接可以使用  缺点:不适用于生产环境,derby和Metastore服务都嵌入在主HiveServer进程中,一个服务只能被一个客户端连接(如果用两个客户端以上就非常浪费资源),且元数据不能......
  • BFS和DFS算法全面解析【算法入门】
    1.前言和树的遍历类似,图的遍历也是从图中某点出发,然后按照某种方法对图中所有顶点进行访问,且仅访问一次。但是图的遍历相对树而言要更为复杂。因为图中的任意顶点都可能与其他顶点相邻,所以在图的遍历中必须记录已被访问的顶点,避免重复访问。根据搜索路径的不同,我们可以将遍......
  • 编程小白如何成为大神?大学新生的最佳入门攻略
    编程小白如何成为大神?大学新生的最佳入门攻略如何选择适合自己的编程语言考虑兴趣方向如果对网页开发感兴趣,那么HTML、CSS和JavaScript是很好的选择。HTML用于构建网页的结构,CSS用于网页的样式设计,JavaScript则能为网页添加交互功能。例如,想要制作一个具有动画效果的网站......
  • 多臂老虎机——入门强化学习
    目录什么是多臂老虎机?强化学习中的多臂老虎机问题解决多臂老虎机问题的常见方法强化学习中的重要性代码实现结果与分析        多臂老虎机(Multi-ArmedBandit,MAB)问题是强化学习的经典入门例子,也是理解探索与利用(exploration-exploitation)平衡的重要案例。什......
  • MyBatis-Plus快速入门:从安装到第一个Demo
    一、前言在现代Java应用程序中,数据访问层的效率与简洁性至关重要。MyBatis-Plus作为MyBatis的增强工具,旨在简化常见的数据操作,提升开发效率。它提供了丰富的功能,如自动生成SQL、条件构造器和简单易用的CRUD操作,极大地减少了代码的冗余。本文将带你从零开始,快速入门MyBa......
  • 梁山派入门指南4——定时器使用详解,包括定时器中断、PWM产生、输入捕获测量频率
    梁山派入门指南4——定时器使用详解,包括定时器中断、PWM产生、输入捕获测量频率1.定时器概览2.基本定时器2.1基本定时器介绍2.2梁山派上的基本定时器开发2.2.1.了解梁山派上的基本定时器资源(实际上我们以及在上面了解过了)2.2.2.配置定时器2.2.3.编写定时器中断服务......
  • Jest生命周期方法全解析从入门到精通!
    Jest中的生命周期方法在Jest测试框架中,生命周期方法用于在测试用例执行前后执行特定的操作。这些方法可以帮助你在测试前设置环境、清理资源等。Jest提供了两类生命周期方法:重复性的生命周期方法beforeEachafterEach一次性的生命周期方法beforeAllafterAll这些方......
  • PostgreSQL11从入门到精通
    书:pan.baidu.com/s/1IVTI-jQveSb4Cdrio6XkBw?pwd=ijykPostgreSQL11是一个功能强大的开源关系型数据库管理系统,以下是对PostgreSQL11从入门到精通的技术分享:一、PostgreSQL11简介PostgreSQL起源于加利福尼亚的伯克利大学,经历了无数次开发升级,现已成为世界上最先进的开源关......