【RuoYi-Vue】RuoYi-Vue框架中间件解析
技术栈
如上图所示,自上而下依次可以将项目解构的关注点放在,Vue的工程化实践,Druid和SpringBoot的整合,Spring Security的认证实践等等。
- 视图层:Vue主要是业务逻辑的载体;Axios是常见的前端请求处理器,常见的使用场景就是请求的过滤,请求头修改这种功能;Element是UI组件库,可以避免自己造轮子然后CSS样式又崩坏的尴尬场景。
- 业务支持层:MyBatis是ORM框架,实现对象到数据库表的映射; Hibernate Validation是校验工具,用来校验输入数据的有效性,防止出现数据类型不匹配,长度不匹配的尴尬情况;Druid是JDBC连接池组件,用来连接数据库,提供了可视化的UI管理工具,一般可以筛选慢sql来提高系统性能; Spring Security是认证授权管理框架,提供了一组过滤器实现各种认证授权的需求。
- 基础能力层:Spring Framework是IOC容器,让我们使用对象的时候不必再去一个个创建,而是在初始化时依次通过配置或约定创建好;Spring Boot在IOC容器的基础上提供了内置Tomcat容器并采用默认配置实现开箱即用。
- 系统能力层:JDK以及Node提供了基础的语言环境;Maven是Java代码的编译工具,可以替我们把拷贝文件,找寻Jar包这类脏活累活简单处理;MySQL是数据库,程序的数据都在它这;Redis也是数据库,只不过是基于内存的,这就让它能够比基于磁盘存取的数据库要在数据读写上快好几个数量级。
整个技术栈浏览下来,没有用到比较冷门的技术和中间件,每项中间件或服务能够解决的问题大致可以拼凑出RuoYi着力处理的问题,通过常见的技术栈抽象出后台管理系统的通用解决方案。