RuoYi帝可得项目是基于Java技术栈的企业级快速开发框架,它整合了SpringBoot、MyBatis、Shiro等主流技术组件。这个框架特别适合需要快速构建后台管理系统的开发团队,我在实际项目中使用这个框架已经完成了3个企业级应用的开发部署。
为什么说它值得推荐?首先,它提供了完整的权限管理模块,包括用户、角色、菜单、部门等基础功能,这为项目节省了至少40%的开发时间。其次,前端采用Vue+ElementUI的组合,前后端分离架构清晰。最重要的是,它的代码生成器可以一键生成CRUD代码,对于常规的增删改查功能,开发效率能提升3倍以上。
在开始搭建前,需要确保开发环境满足以下要求:
我习惯使用IntelliJ IDEA作为开发IDE,它的SpringBoot支持非常完善。数据库工具推荐DBeaver或Navicat,Redis客户端推荐Another Redis Desktop Manager。
特别注意:MySQL必须使用utf8mb4字符集,否则会遇到中文乱码问题。我在第一次部署时就踩过这个坑。
官方提供了两种获取方式:
建议使用Gitee镜像,国内下载速度更快。可以通过以下命令克隆项目:
bash复制git clone https://gitee.com/y_project/RuoYi.git
项目结构说明:
code复制ruoyi-admin # 后台服务模块
ruoyi-common # 通用工具模块
ruoyi-framework # 核心框架模块
ruoyi-generator # 代码生成模块
ruoyi-quartz # 定时任务模块
ruoyi-system # 系统模块
ruoyi-ui # 前端项目目录
执行项目sql目录下的初始化脚本:
建议使用以下命令创建数据库:
sql复制CREATE DATABASE `ruoyi` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
打开ruoyi-admin模块中的application-druid.yml文件,修改以下配置:
yaml复制# 数据源配置
spring:
datasource:
druid:
master:
url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 你的密码
生产环境强烈建议修改默认的admin/123456账号密码,我在实际部署时遇到过暴力破解攻击。
在项目根目录执行:
bash复制mvn clean install
如果遇到依赖下载慢的问题,可以配置阿里云镜像:
xml复制<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
在IDEA中配置启动参数:
启动成功后访问:http://localhost:8080 应该能看到登录页面。
进入ruoyi-ui目录执行:
bash复制npm install --registry=https://registry.npm.taobao.org
bash复制npm run dev
bash复制npm run build:prod
构建完成后,dist目录下的文件可以部署到Nginx或Tomcat。
建议先创建角色,再分配菜单权限,最后创建用户并关联角色。
生成的前端代码需要手动合并到ruoyi-ui项目中,这是容易出错的地方。
推荐使用Docker部署:
dockerfile复制FROM amazoncorretto:11
COPY target/ruoyi-admin.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
Nginx配置示例:
nginx复制server {
listen 80;
server_name your.domain.com;
location / {
root /home/ruoyi-ui/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
location /prod-api/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
}
}
我在实际项目中扩展了微信登录功能,主要修改了:
推荐启动参数:
code复制-server -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
内置Actuator端点:
推荐接入:
我在项目中整合了Prometheus监控,主要步骤:
推荐工具:
解决方案:
排查步骤:
常见原因:
改造步骤:
实现功能:
特色功能:
编排示例:
yaml复制version: '3'
services:
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
redis:
image: redis:5.0
ruoyi:
build: .
ports:
- "8080:8080"
depends_on:
- mysql
- redis