JeecgBoot入门

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

一、项目简介

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

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

二、开发环境准备

2.1 开发环境搭建

前端环境准备:

  • node v20.15.0
  • pnpm 安装;

后端环境软件:

  • JDK17
  • maven3.9.8
  • mysql8.0+
  • redis

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

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, typenvm 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} ]];thenecho 'mysql安装包不存在'exit 0
fiif [[ -d ${install_path}/mysql ]];thenecho '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 ]] ; thenecho 'mysql安装失败'
elseecho 密码是${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} ]];thenecho ${mysql_cnf}文件已经存在mv ${mysql_cnf} ${mysql_cnf}.bak
fiecho 开始创建${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/mysqlif [[ -f ${install_path}/mysql/lib ]];thenecho ${install_path}/mysql/lib文件已经存在
elseecho "${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;

安装完成后mysql密码为test123!@#

2.1.7 redis
2.1.7.1 下载

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

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

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

sudo tar -zvxf redis-7.0.0.tar.gz

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

2.1.7.2 编译安装

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

sudo make MALLOC=lib

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

sudo make PREFIX=/usr/local/redis install

这里多了一个关键字 PREFIX=这个关键字的作用是编译的时候用于指定程序存放的路径,比如我们现在就是指定了redis必须存放在/usr/local/redis目录。

ubuntu@VM-4-9-ubuntu:/data/redis-7.0.0$ ll /usr/local/redis/
drwxr-xr-x  2 root root 4096 Nov  3 23:35 bin/

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

将默认的redis.conf拷贝到自己定义好的一个路径下,比如/usr/local/redis/etc;

ubuntu@VM-4-9-ubuntu:/data/redis-7.0.0$ sudo mkdir /usr/local/redis/etc
ubuntu@VM-4-9-ubuntu:/data/redis-7.0.0$ sudo cp redis.conf /usr/local/redis/etc
2.1.7.3 配置

修改redis.conf配置文件。这里列举下比较重要的配置项;

配置项名称配置项值范围说明
daemonizeyes、noyes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port指定redis监听端口,默认端口为6379
bind绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-modeyes 、no保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接redis服务则需要将此属性改为no。
timeout300当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
logleveldebug、verbose、notice、warning日志级别,默认为 notice
databases16设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompressionyes、no指定存储至本地数据库时是否压缩数据,默认为 yes,redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilenamedump.rdb指定本地数据库文件名,默认值为 dump.rdb
dir指定本地数据库存放目录
requirepass设置 redis 连接密码,如果配置了连接密码,客户端在连接 redis 时需要通过AUTH 命令提供密码,默认关闭
maxclients0设置同一时间最大客户端连接数,默认无限制,redis 可以同时打开的客户端连接数为 redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemoryXXX 指定 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

cd /usr/local/redis
./bin/redis-server ./etc/redis.conf

查看redis进程是否在运行;

ubuntu@VM-4-9-ubuntu:/usr/local/redis$ ps -aux | grep redis
ubuntu   3765549  0.0  0.1  39692  3600 ?        Ssl  23:45   0:00 ./bin/redis-server *:6379
ubuntu   3765588  0.0  0.1  11508  2484 pts/1    S+   23:45   0:00 grep --color=auto 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.

项目目录结构如下;

使用idea加载项目jeecg-boot

2.2.1 初始化数据库

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

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

2.2.2 安装maven依赖

通过右侧父POM进行install(下载依赖和打包);

2.2.3 修改配置文件

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

修改数据库配置:

修改redis配置;

2.2.4 启动项目

右键执行下面类,启动项目

jeecg-system-start/src/main/java/org/jeecg/JeecgSystemApplication.java
2.2.5 访问接口文档
http://localhost:8080/jeecg-boot/doc.html

参考文章

[1] JeecgBoot 开发文档

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

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

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

相关文章

修改HarmonyOS鸿蒙图标和名字,打包后安装到真机,应用图标丢失变成透明,修改名字也不生效,还是默认的labeL解决方案教程

HarmonyOS鸿蒙打包hap 安装应用到桌面没有图标,用hdc安装到真机,打包后应用图标丢失变成透明,名字也还是默认的label的bug,以下是解决方案 以下是修改方案: 1、修改应用名字: 2、修改应用图标&#xff1a…

MYSQL安装(ubuntu系统)

rpm -qa 查询安装软件包 ps axj 查询服务 卸载mysql(万不得已) ps axj | grep mysql 查看是否存在mysql服务 systemctl stop mysqld 关闭该服务 rpm -qa | grep mysql 查安装mysql安装包 rmp -qa | grep mysql | xargs (yum apt) -y remove进行批量…

比ChatGPT更牛!苹果新AI模型刷新交互体验!能看懂你的手机屏幕!平板和安卓机也都行

家人们,苹果一直在悄悄进步! 近期,据小鹿观察,各大科技巨头不仅在提升模型解决复杂问题的能力上竞争激烈,而且还在大语言模型应用于用户界面(UI)交互方面上暗暗发力! 最近&#xf…

InstructIR: High-Quality Image Restoration Following Human Instructions 论文阅读笔记

这是Radu大佬所在的Wrzburg大学的computer vision lab实验室发表在ECCV2024上的一篇论文,代码开源。文章提出了一种文本引导的All-in-One的restoration模型,如下图所示: 这个工作其实跟"InstructPix2Pix: Learning to Follow Image Edit…

解决使用Golang的email库发送qq邮件报错short response,错误类型为textproto.ProtocolError

问题阐述 使用email库发送QQ邮件,采用587端口: package mainimport ("fmt""net/smtp""github.com/jordan-wright/email" )func SendEmail(sendTo string, subject string, body string) (err error) {e : email.NewEmai…

【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十二章 Debian文件系统

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

Spring框架的JDBC模板技术

目录 一、JDBC模板类的使用 1.引入依赖 2.测试类 3.运行,查看数据库 二、使用Spring框架来管理模板类 1.配置文件 2.测试类 3.运行,查看数据库 三、Spring框架管理开源的连接池 1.配置开源的连接池 2.将数据库连接的信息配置到属性文件中 3.核…

【万字详文介绍】:迭代扩张卷积神经网络(IDCNN)

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

2-Ubuntu/Windows系统启动盘制作

学习目标: 掌握使用Win32DiskImager、Rufus等工具制作系统启动盘的基本步骤。独立将ISO镜像文件写入USB闪存驱动器,确保在需要时顺利安装或修复系统。通过学习如何选择正确的源文件和目标驱动器,理解启动盘的使用场景和注意事项,…

简介Voronoi图Voronoi Diagrams

这是计算机的经典算法。 问题引入 倘若一张大白纸上有很多三角点,掉进去一个五星点,问,哪个三角离着五星最近?简单,算距离呗,这个五星到其他所有三角点的距离,找到最小的那个就行。 若掉进去…

【进阶sql】复杂sql收集及解析【mysql】

开发时会出现,必须写一些较复杂sql的场景 可能是给会sql的客户 提供一些统计sql 或是临时需要统计数据信息但是 开发一个统计功能有来不及的情况 也可能是报表系统组件 只支持 sql统计的情况 特地记录下这些sql 作为积累 substring 截取查询出的字符串&#xff…

SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“

SLF4J常见问题 导入依赖&#xff1a; <dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version> </dependency> <dependency><groupId>org.slf4j</groupId><arti…

002-Kotlin界面开发之Kotlin旋风之旅

Kotlin旋风之旅 Compose Desktop中哪些Kotlin知识是必须的&#xff1f; 在学习Compose Desktop中&#xff0c;以下Kotlin知识是必须的&#xff1a; 基础语法&#xff1a;包括变量声明、数据类型、条件语句、循环等。面向对象编程&#xff1a;类与对象、继承、接口、抽象类等。…

RSTP的工作过程

RSTP简介&#xff1a; 生成树协议&#xff08;STP&#xff09;用于在网络中防止环路产生&#xff0c;但 STP 的收敛速度较慢。 RSTP&#xff08;Rapid Spanning Tree Protocol &#xff09;快速生成树协议&#xff1a;RSTP 是对 STP 的改进&#xff0c;它能在网络拓扑发生变化…

【IEEE出版 | EI稳定检索】2024智能机器人与自动控制国际学术会议 (IRAC 2024,11月29-12月1日)

2024智能机器人与自动控制国际学术会议 &#xff08;IRAC 2024&#xff09; 2024 International Conference on Intelligent Robotics and Automatic Control 官方信息 会议官网&#xff1a;www.icirac.org 2024 International Conference on Intelligent Robotics and Autom…

nginx 搭建网站

1.查看防火墙状态systemctl status firewalld 2.getenforce 3.安装nginx yum install nginx -y 4.网站信息 echo "welcome to yinchuankejixuanyuan" > /usr/share/nginx/html/index.html 5.查看命令状态 nginx -t 6.重启 systemctl restart nginx

从0开始搭建一个生产级SpringBoot2.0.X项目(八)SpringBoot 使用Redis

前言 最近有个想法想整理一个内容比较完整springboot项目初始化Demo。 SpringBoot使用Redis 缓存数据 一、 pom引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>&…

Logstash 安装与部署(无坑版)

下载 版本对照关系&#xff1a;ElasticSearch 7.9.2 和 Logstash 7.9.2 &#xff1b; 官方下载地址 选择ElasticSearch版本一致的Logstash版本 https://www.elastic.co/cn/downloads/logstash 下载链接&#xff1a;https://artifacts.elastic.co/downloads/logstash/logst…

FBX福币交易所A股三大指数小幅低开 稀土永磁板块回调

查查配分析11月5日电 周二,A股三大指数小幅低开。沪指开盘跌0.10%报3306.81点,深证成指开盘跌0.09%报10653.20点,创业板指开盘跌0.05%报2184.90点。 FBX福币凭借用户友好的界面和对透明度的承诺,迅速在加密货币市场中崭露头角,成为广大用户信赖的平台。 来源:同花顺iFinD 盘面…

基于python深度学习的交通标志图像识别设计与实现,卷积神经网络(CNN)作为主要架构

摘要 随着自动驾驶技术的发展&#xff0c;交通标志的识别与理解在智能交通系统中扮演着越来越重要的角色。本文设计并实现了一个基于深度学习的交通标志图像识别系统&#xff0c;通过对交通标志识别基准数据集的分析与处理&#xff0c;建立了一套完整的图像识别流程。使用Pyth…