若依后台管理框架初识
- 若依(ruoyi)
- 时间:2020-10-03 10:01
- 9282人已阅读
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
若依后台管理框架初识
若依Java
若依后台管理框架
若依后台管理界面
若依后台管理框架是一套完整的前后台综合框架,包括前台页面和后台Java
,默认支持一常用的用户、角色、部门、岗位、菜单、权限、监控、定时任务等功能,还有强大的代码生成器,可以根据后台数据库表结构自动生成前后台代码。
1. 什么是若依后台管理
1.1 若依后台管理系统简介
若依后台管理框架是一套完整的前后台综合框架,使用到诸如SpringBoot
、Mybatis
、Druid
、thtmeleaf
、shiro
等等技术,支持前后端分析,具有基础功能完成,上手快速,扩展新功能简单等等优点。
若依官网:http://ruoyi.vip/
1.2 安装教程
开始若依后台管理框架只需要简单的三步即可:
克隆若依官方代码库;
若依代码库
初始化MySQL数据库脚本;
若依代码中的SQL脚本
修改数据库连接信息。
若依数据库连接配置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 代码生成器的使用
在后台页面系统工具-代码生成-导入-选择数据库-确定。
代码生成器
点击单行数据编辑菜单,修改基本信息,字段信息,生成信息,保存,这里面配置的信息都会体现在最终生成的代码中。
修改基本信息
修改字段信息
修改生成信息
点击生成代码,下载生成代码zip文件。
自动生成代码结构
将自动生成的
java
和html
文件添加进自定义的模块中,这其中可能会需要修改包路径。
2.3 必要的配置修改
如果自定一的代码中有自定义包路径,那么就需要修改包扫描和mapper
扫描路径。
修改
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 { }
修改包扫描路径,
Ruoyi-admin
的RuoYiApplication
上面的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); } }
执行自动生成的脚本
自动生成脚本位置
2.4 修改菜单和权限
在执行玩自动生成的脚本后,会在后台增加新增功能的菜单,但是这些菜单的位置可能不符合自己的要求,这就需要自己在后台的菜单管理界面修改权限码菜单层级等功能。
菜单修改
3. 如何集成Mybatis plus
3.1 引入Mybatis plus
坐标
在
ruoyi
父工程引入Mybatis Plus
的坐标。
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis.plus.version}</version> </dependency>
因为若依的
Mybatis
配置与Mybatis Plus
配置冲突,需要删除MyBatisConfig
配置类,或者将其@Configuration
注解删除。
3.2 修改类和对象适配Mybatis plus
修改自动生成的数据库模型对象,增加@
TableName
注解;
@TableName("STOCK_MAIN_DATA_T") public class StockDataDO extends BaseEntity{ ... }
mapper
接口类扩展BaseMapper
接口;
public interface StockDataDOMapper extends BaseMapper<StockDataDO> { ... }
Service
接口扩展IService
接口
public interface IStockDataDOService extends IService<StockDataDO> { ... }
ServiceImpl
类扩展ServiceImpl
实现类
@Service public class StockDataDOServiceImpl extends ServiceImpl<StockDataDOMapper, StockDataDO> implements IStockDataDOService { ... }
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 &