RuoYi 教程-使用自定义包名而不是com.ruoyi

在基于 RuoYi 框架进行开发时,一般来说我们想要使用自己公司的包名而不是 com.ruoyi,需要怎么做?

前言

本文主要内容: 本文主要内容是怎样在 RuoYi 框架中使用自己的包名而不是 com.ruoyi

正文

RuoYi 官方给出的教程,讲了2种办法(但本质上是一种方法)

我本人并不推荐这种方法,主要原因如下:

  • 需要更改多个文件多处定义,较为繁琐
  • 即使使用修改器,本质上也是改动了多个文件,当合并来自 RuoYi 的版本变更时,就非常麻烦了

如果你觉得这不是问题,那么可以按照上述方案进行修改。但我觉得,RuoYi 作为基本二开框架,在这方面没有给用户足够的灵活度,反而给出一个繁琐的替换教程,本身就是不合理的。除此之外,还有很多方面的不合理设计,如 RuoYi 框架的生态建设,在项目初期是欠缺考虑的。当然这里也不是贬低 RuoYi 框架,RuoYi 框架的确是一个优秀的快速开发框架,是值得肯定和学习的。

个人建议基于 RuoYi 框架进行开发时,保留框架自身的 com.ruoyi,然后新增自己的模块,在新模块中使用自定义的包名。具体步骤如下:

  • 参考新建子模块 创建一个新的模块

  • 在新模块中使用自定义的包名创建包

  • 处理 spring 组件扫描配置:修改ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java,其中com.abc为自定义包名,添加 spring 组件扫描配置 @ComponentScan(basePackages = {"com.ruoyi", "com.abc"})

  • 处理mybatis mapper扫描配置(2 种方式任选一种)

    • 方式 1:添加额外的 mybatis mapper扫描配置,比如添加到ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java中:@MapperScan("com.abc.*.mapper")
    • 方式 2:
      • 注释掉ruoyi-framework/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java@MapperScan("com.ruoyi.**.mapper")
      • ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java中添加:@MapperScan({"com.ruoyi.**.mapper","com.abc.*.mapper"})
  • 修改ruoyi-admin/src/main/resources/application.ymlmybatis 部分的typeAliasesPackage: com.ruoyi.**.domain,com.abc.**.domain