若依后台管理框架初识

  • 作者: 凯哥Java
  • 若依(ruoyi)
  • 时间:2020-10-03 10:01
  • 101人已阅读
简介 若依后台管理框架初识若依Java若依后台管理框架若依后台管理界面若依后台管理框架是一套完整的前后台综合框架,包括前台页面和后台Java,默认支持一常用的用户、角色、部门、岗位、菜单、权限、监控、定时任务等功能,还有强大的代码生成器,可以根据后台数据库表结构自动生成前后台代码。1.什么是若依后台管理1.1若依后台管理系统简介若依后台管理框架是一套完整的前后台综合框架,使用到诸如SpringBoot、

若依后台管理框架初识

若依Java

若依后台管理框架


若依后台管理界面
若依后台管理界面


若依后台管理框架是一套完整的前后台综合框架,包括前台页面和后台Java,默认支持一常用的用户、角色、部门、岗位、菜单、权限、监控、定时任务等功能,还有强大的代码生成器,可以根据后台数据库表结构自动生成前后台代码。

1. 什么是若依后台管理

1.1 若依后台管理系统简介

若依后台管理框架是一套完整的前后台综合框架,使用到诸如SpringBootMybatisDruidthtmeleafshiro等等技术,支持前后端分析,具有基础功能完成,上手快速,扩展新功能简单等等优点。

若依官网:http://ruoyi.vip/

若依文档:http://doc.ruoyi.vip/

1.2 安装教程

开始若依后台管理框架只需要简单的三步即可:

  1. 克隆若依官方代码库


若依代码库
若依代码库


  1. 初始化MySQL数据库脚本;


若依代码中的SQL脚本
若依代码中的SQL脚本


  1. 修改数据库连接信息。


若依数据库连接配置
若依数据库连接配置1.3 代码结构


com.ruoyi     
├── common            // 工具类
│       └── annotation                    // 自定义注解
│       └── config                        // 全局配置
│       └── constant                      // 通用常量
│       └── core                          // 核心控制
│       └── enums                         // 通用枚举
│       └── exception                     // 通用异常
│       └── json                          // JSON数据处理
│       └── utils                         // 通用类处理
│       └── xss                           // XSS过滤处理
├── framework         // 框架核心
│       └── aspectj                       // 注解实现
│       └── config                        // 系统配置
│       └── datasource                    // 数据权限
│       └── manager                       // 异步处理
│       └── shiro                         // 权限控制
│       └── util                          // 通用工具
│       └── web                           // 前端控制
├── ruoyi-generator   // 代码生成(可移除)
├── ruoyi-quartz      // 定时任务(可移除)
├── ruoyi-system      // 系统代码
├── ruoyi-admin       // 后台服务,启动类所在模块
├── ruoyi-xxxxxx      // 其他模块

1.4 系统启动

若依后台管理系统是基于SpringBoot,其启动类RuoYiApplication为与ruoyi-admin模块中,在跑完数据库脚本修改数据库连接信息后这,直接跑RuoYiApplication里面的main方法即可启动若依。

启动完成之后,在浏览器输入localhost即可访问若依登录界面。默认用户名为admin,密码admin123


若依登录界面
若依登录界面


2. 如何扩展自定义代码

若依拥有一个强大的代码自动生成模块,可以根据业务表结构自动生成前后台代码,极大的方便我们做功能扩展。

2.1 新建自定义子模块

因为若依标准后台是多模块结构,如果需要自定义功能,建议放在一个自定义的功能模块中,在RuoYi工程里面新建一个Maven子模块,确定GroupId,AtrifactId,name等信息,这个步骤会因为IDE的不同而不同,但是都十分简单。


新建子模块
新建子模块


2.2 代码生成器的使用

  1. 在后台页面系统工具-代码生成-导入-选择数据库-确定。


代码生成器
代码生成器


  1. 点击单行数据编辑菜单,修改基本信息,字段信息,生成信息,保存,这里面配置的信息都会体现在最终生成的代码中。


修改基本信息
修改基本信息



修改字段信息
修改字段信息



修改生成信息
修改生成信息


  1. 点击生成代码,下载生成代码zip文件。


自动生成代码结构
自动生成代码结构


  1. 将自动生成的javahtml文件添加进自定义的模块中,这其中可能会需要修改包路径。

2.3 必要的配置修改

如果自定一的代码中有自定义包路径,那么就需要修改包扫描和mapper扫描路径。

  1. 修改mapper扫描路径,Ruoyi-framework工程com.ruoyi.framework.config目录下面的ApplicationConfig类上MapperScan增加自定义mapper路径地址;

@Configuration
// 表示通过aop框架暴露该代理对象,AopContext能够访问
@EnableAspectJAutoProxy(exposeProxy = true)
// 指定要扫描的Mapper类的包的路径
@MapperScan(basePackages = {"com.kaigejava.**.mapper","com.ruoyi.**.mapper"})
public class ApplicationConfig {

}
  1. 修改包扫描路径,Ruoyi-adminRuoYiApplication上面的SpringBootApplication注解增加scanBasePackages值。

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}, scanBasePackages = {"com.kaigejava.*", "com.ruoyi.*"})
public class RuoYiApplication {
    public static void main(String[] args) {
        SpringApplication.run(RuoYiApplication.class, args);
    }
}
  1. 执行自动生成的脚本


自动生成脚本位置
自动生成脚本位置


2.4 修改菜单和权限

在执行玩自动生成的脚本后,会在后台增加新增功能的菜单,但是这些菜单的位置可能不符合自己的要求,这就需要自己在后台的菜单管理界面修改权限码菜单层级等功能。


菜单修改
菜单修改


3. 如何集成Mybatis plus

3.1 引入Mybatis plus坐标

  1. ruoyi父工程引入Mybatis Plus的坐标。

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>${mybatis.plus.version}</version>
</dependency>
  1. 因为若依的Mybatis配置与Mybatis Plus配置冲突,需要删除MyBatisConfig配置类,或者将其@Configuration注解删除。

3.2 修改类和对象适配Mybatis plus

  1. 修改自动生成的数据库模型对象,增加@TableName注解;

@TableName("STOCK_MAIN_DATA_T")
public class StockDataDO extends BaseEntity{
    ...
}
  1. mapper接口类扩展BaseMapper接口;

public interface StockDataDOMapper extends BaseMapper<StockDataDO>
{
    ...
}
  1. Service接口扩展IService接口

public interface IStockDataDOService extends IService<StockDataDO>
{
    ...
}
  1. ServiceImpl类扩展ServiceImpl实现类

@Service
public class StockDataDOServiceImpl extends ServiceImpl<StockDataDOMapper, StockDataDO> implements IStockDataDOService {
    ...
}
  1. Controller类扩展BaseController实现类

@Controller
@RequestMapping("/stock/stockData")
public class StockDataDOController extends BaseController {
    ...
}

4. 如何实现多环境配置

4.1 多环境yml配置文件

因为开发环境和生产环境的配置不一样,数据源配置,服务器端口配置等等都会配置不同的值,如果只有一个配置文件,面对不同的环境就需要频繁的修改,十分的不方便,而且还容易出错。而spring的profiles机制则可以很好的解决多环境配置问题。

实现方式也很简单,就是配置多个application-{profile}.yml文件。将各个环境相同的配置放在application.yml中,不同的配置分配配置在不同的文件中。


若依多个配置
若依多个配置


配置spring.profiles.active参数,在选择不同的配置




4.2 启动命令增加spring.profiles.active参数

如果是通过修改spring.profiles.active的值来选择不同的环境配置,还是存在不同环境对应不同参数问题,为了实现同一个jar包适配不同的环境,可以在执行jar命令的时候增加一个参数:

nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod > 20200419-1.log &

Top Top