若依开源框架理解

 1、框架介绍 

RuoYi是一个基于Java技术开发的后台管理系统,目前官方同步在维护的有3个版本。

开源协议:MIT

解释:MIT是和BSD一样宽松的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。

(1)若依不分离版本

        RuoYi是基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。

Gitee开源地址:RuoYi: 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用

在线文档地址:http://doc.ruoyi.vip/ruoyi/

在线演示地址:登录若依系统

若依开源框架理解

(2)若依前后端分离版本

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

Gitee开源地址:RuoYi-Vue: 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统

在线文档地址:介绍 | RuoYi

在线演示地址:若依管理系统

若依开源框架理解 

(3)若依微服务版本(在用

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

Gitee开源地址:RuoYi-Cloud: 基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统

在线文档地址:介绍 | RuoYi

在线演示地址:与前后端分离在线演示地址一样

若依开源框架理解 

若依总结:
知识点1:
domain层:它的JavaBean类,必须对应数据库中的数据。抽象的对象

pojo层:全称为(Plain Ordinary Java Object 普通Java对象) 存放普通的JavaBean类

Model层:它的JavaBean类,封装的是前端在数据库中需要使用的数据。

知识点2:

若依的前后端未分离版本和vue版本都是基于SpringBoot开发的轻量级Java快速开发框架,他们分模块开发,在我理解其实也是把其他的模块引入主模块使用,保证大家可以分模块开发。和引入jar包是一样的。

知识点3:

若依的@excel注解是为了实现导出excel表。

知识点4:

若依cloud中各个微服务的作用:

com.ruoyi     
├── ruoyi-ui              // 前端框架 [80]
├── ruoyi-gateway         // 网关模块 [8080]
├── ruoyi-auth            // 认证中心 [9200]           // 独立的认认证授权中心,有启动类
├── ruoyi-api             // 接口模块
│       └── ruoyi-api-system                          // 系统接口   系统抽取的统一的接口api,没有启动类
├── ruoyi-common                                      // 抽离的通用模块工具,没有启动类
│       └── ruoyi-common-core                         // 核心模块
│       └── ruoyi-common-datascope                    // 权限范围
│       └── ruoyi-common-datasource                   // 多数据源
│       └── ruoyi-common-log                          // 日志记录
│       └── ruoyi-common-redis                        // 缓存服务
│       └── ruoyi-common-security                     // 安全模块
│       └── ruoyi-common-swagger                      // 系统接口
├── ruoyi-modules         // 业务模块
│       └── ruoyi-system                              // 系统模块 [9201]
│       └── ruoyi-gen                                 // 代码生成 [9202]
│       └── ruoyi-job                                 // 定时任务 [9203]
│       └── ruoyi-file                                // 文件服务 [9300]
├── ruoyi-visual          // 图形化管理模块
│       └── ruoyi-visual-monitor                      // 监控中心 [9100]
├──pom.xml                // 公共依赖

知识点5:用到了匿名内部类写法

/**
 * 文件服务降级处理
 * 
 * @author ruoyi
 */
@Component
public class RemoteFileFallbackFactory implements FallbackFactory<RemoteFileService>
{
    private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class);

    @Override
    public RemoteFileService create(Throwable throwable)
    {
        log.error("文件服务调用失败:{}", throwable.getMessage());
        return new RemoteFileService()
        {
            @Override
            public R<SysFile> upload(MultipartFile file)
            {
                return R.fail("上传文件失败:" + throwable.getMessage());
            }
        };
    }
}

知识点6:微服务若依环境搭建(重点)

若依微服务版手把手教你本地搭建环境并运行前后端项目 - 霸道流氓 - 博客园

知识点7:nacos.config是nacos的初始化数据库,ry-cloud是业务库,ry-config是若依的nacos库。ry_20200924.sql和quartz.sql是ry-cloud的sql,ry_config_20200924.sql是ry-config的sql

知识点7:若依aop理解,冰山一角

深入分析若依数据权限@datascope (注解+AOP+动态sql拼接) 【循序渐进,附分析过程】_金发罗婕的博客-CSDN博客_若依数据权限

知识点8:若依异常理解,见自定义异常和全局异常处理类博客

版权声明:程序员胖胖胖虎阿 发表于 2022年8月30日 下午9:08。
转载请注明:若依开源框架理解 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...