若依框架的入门介绍及使用

若依框架是一个Java企业级开发平台,包含部门管理、角色用户、菜单授权等功能。本文介绍了若依的基本概念、系统需求,详细步骤指导如何配置MySQL、Redis,启动前端,并概述了框架结构和内置功能,包括代码生成器。
摘要由CSDN通过智能技术生成

若依框架的入门介绍及使用

引言

若依(RuoYi)开源框架是一个功能强大的Java开发框架,专注于快速构建企业级后台管理系统。它提供了一套丰富的功能和模块,可以帮助开发人员快速搭建稳定、高效的管理系统。本篇博客将大家了解若依框架的基本概念和使用方法,帮助您快速上手。

1.什么是若依

RuoYi-Vue 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring Security、MyBatis、Jwt、Vue),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。

2 .使用若依

2.1系统需求

  • JDK >= 1.8
    MySQL >= 5.7
    Maven >= 3.0
    Node >= 12
    Redis >= 3

2.1下载并运行

在这里插入图片描述

在这里插入图片描述

这里是若依官网,还有在线演示

2.2配置数据库 MySQL、Reids

2.2.1MySQL配置

在这里插入图片描述

2.2.2Redis配置

在这里插入图片描述

2.3前端启动

  • 1、安装依赖 npm install
  • 2 、启动 npm run dev
  • 运行效果
    在这里插入图片描述
    至此,若依前后端分离项目启动完成。

3. 框架结构和模块

3.1后端结构

在这里插入图片描述

3.2前端结构

在这里插入图片描述

3.3内置功能

  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  • 岗位管理:配置系统用户所属担任职务。
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 参数管理:对系统动态配置常用参数。
  • 通知公告:系统通知公告信息发布维护。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 在线用户:当前系统中活跃用户状态监控。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  • 系统接口:根据业务代码自动生成相关的api接口文档。
  • 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  • 缓存监控:对系统的缓存信息查询,命令统计等。
  • 在线构建器:拖动表单元素生成相应的Vue代码。
  • 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

3.4其他功能和扩展

3.4.1代码生成器

首先在系统工具下的代码生成中选择导入的数据表
在这里插入图片描述
然后点击预览或生成就可以查看或下载若依为我们生成的增删改查所有代码,注意是所有代码。
在这里插入图片描述
这里可以预览代码
在这里插入图片描述
例如controller代码

package com.lzdongrui.system.controller;

import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.lzdongrui.common.annotation.Log;
import com.lzdongrui.common.core.controller.BaseController;
import com.lzdongrui.common.core.domain.AjaxResult;
import com.lzdongrui.common.enums.BusinessType;
import com.lzdongrui.system.domain.SysRole;
import com.lzdongrui.system.service.ISysRoleService;
import com.lzdongrui.common.utils.poi.ExcelUtil;
import com.lzdongrui.common.core.page.TableDataInfo;

/**
 * 角色信息Controller
 * 
 * @author ruoyi
 * @date 2023-06-29
 */
@RestController
@RequestMapping("/system/role")
public class SysRoleController extends BaseController
{
   
    @Autowired
    private ISysRoleService sysRoleService;

    /**
     * 查询角色信息列表
     */
    @PreAuthorize("@ss.hasPermi('system:role:list')")
    @GetMapping("/list")
    public TableDataInfo list(SysRole sysRole)
    {
   
        startPage();
        List<SysRole> list = sysRoleService.selectSysRoleList(sysRole);
        return getDataTable(list);
    }

    /**
     * 导出角色信息列表
     */
    @PreAuthorize("@ss.hasPermi('system:role:export')")
    @Log(title = "角色信息", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SysRole sysRole)
    {
   
        List<SysRole> list = sysRoleService.selectSysRoleList(sysRole);
        ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class);
        util.exportExcel(response, list, "角色信息数据");
    }

    /**
     * 获取角色信息详细信息
     */
    @PreAuthorize("@ss.hasPermi('system:role:query')")
    @GetMapping(value = "/{roleId}")
    public AjaxResult getInfo(@PathVariable("roleId") Long roleId)
    {
   
        return success(sysRoleService.selectSysRoleByRoleId(roleId));
    }

    /**
     * 新增角色信息
     */
    @PreAuthorize("@ss.hasPermi('system:role:add')")
    @Log(title =
  • 11
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你好,Leaf是一个基于Go语言的开源游戏服务器框架,它提供了高效的网络通信、多线程、协程、消息路由、资源管理等功能,可用于开发各种类型的游戏服务器。下面是对Leaf的简要介绍入门指南: 1. 安装Go语言环境 首先需要安装Go语言环境,可从官网下载并安装最新版本的Go语言。 2. 下载Leaf框架 从GitHub上下载最新的Leaf源码,也可以使用以下命令进行下载: ``` go get -u github.com/name5566/leaf ``` 3. 创建游戏服务器 在src目录下创建一个main.go文件,并添加以下代码: ```go package main import ( "github.com/name5566/leaf" "github.com/name5566/leaf/log" ) func main() { // 启动Leaf框架 leaf.Run( // 初始化函数 func() { log.Release("Leaf server start") }, // 错误处理函数 func(err error) { log.Error("Leaf server error: %v", err) }, // 关闭函数 func() { log.Release("Leaf server stop") }, ) } ``` 4. 运行游戏服务器 在终端中进入main.go所在目录,输入以下命令进行编译: ``` go build ``` 然后运行生成的可执行文件: ``` ./main ``` 5. 添加网络通信 在main.go中添加以下代码: ```go package main import ( "github.com/name5566/leaf" "github.com/name5566/leaf/log" "github.com/name5566/leaf/network" ) func main() { // 创建TCP监听器 listener, err := network.Listen("tcp", "127.0.0.1:7777") if err != nil { log.Fatal("Leaf server listen error: %v", err) } // 启动Leaf框架 leaf.Run( // 初始化函数 func() { log.Release("Leaf server start") }, // 错误处理函数 func(err error) { log.Error("Leaf server error: %v", err) }, // 关闭函数 func() { log.Release("Leaf server stop") }, // 添加监听器 leaf.WithListener(listener), ) } ``` 6. 添加消息路由 在main.go中添加以下代码: ```go package main import ( "github.com/name5566/leaf" "github.com/name5566/leaf/log" "github.com/name5566/leaf/network" "reflect" ) type Hello struct { Name string } func init() { // 注册消息类型 leaf.Register(&Hello{}) } func main() { // 创建TCP监听器 listener, err := network.Listen("tcp", "127.0.0.1:7777") if err != nil { log.Fatal("Leaf server listen error: %v", err) } // 添加消息路由 leaf.SetMessageHandler(func(msg interface{}) { switch msg.(type) { case *Hello: hello := msg.(*Hello) log.Release("Hello %v", hello.Name) default: log.Error("Unknown message %v", reflect.TypeOf(msg)) } }) // 启动Leaf框架 leaf.Run( // 初始化函数 func() { log.Release("Leaf server start") }, // 错误处理函数 func(err error) { log.Error("Leaf server error: %v", err) }, // 关闭函数 func() { log.Release("Leaf server stop") }, // 添加监听器 leaf.WithListener(listener), ) } ``` 7. 发送消息 在main.go中添加以下代码: ```go package main import ( "github.com/name5566/leaf" "github.com/name5566/leaf/log" "github.com/name5566/leaf/network" "reflect" ) type Hello struct { Name string } func init() { // 注册消息类型 leaf.Register(&Hello{}) } func main() { // 创建TCP监听器 listener, err := network.Listen("tcp", "127.0.0.1:7777") if err != nil { log.Fatal("Leaf server listen error: %v", err) } // 添加消息路由 leaf.SetMessageHandler(func(msg interface{}) { switch msg.(type) { case *Hello: hello := msg.(*Hello) log.Release("Hello %v", hello.Name) default: log.Error("Unknown message %v", reflect.TypeOf(msg)) } }) // 启动Leaf框架 leaf.Run( // 初始化函数 func() { log.Release("Leaf server start") }, // 错误处理函数 func(err error) { log.Error("Leaf server error: %v", err) }, // 关闭函数 func() { log.Release("Leaf server stop") }, // 添加监听器 leaf.WithListener(listener), ) // 创建TCP连接 conn, err := network.Dial("tcp", "127.0.0.1:7777") if err != nil { log.Fatal("Leaf client dial error: %v", err) } // 发送消息 conn.WriteMsg(&Hello{Name: "world"}) } ``` 通过以上步骤,就可以编写和运行一个简单的Leaf游戏服务器了。如果需要更详细的文档和示例,请参考Leaf的GitHub仓库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值