若依后台管理系統初識
若依后台管理系統

若依后台管理系統是一套完整的前后台綜合框架,包括前台頁面和后台Java
,默認支持一常用的用戶、角色、部門、崗位、菜單、權限、監控、定時任務等功能,還有強大的代碼生成器,可以根據后台數據庫表結構自動生成前后台代碼。
1. 什么是若依后台管理
1.1 若依后台管理系統簡介
若依后台管理框架是一套完整的前后台綜合系統,使用到諸如SpringBoot
、Mybatis
、Druid
、thtmeleaf
、shiro
等等技術,支持前后端分析,具有基礎功能完整,上手快速,擴展新功能簡單等等優點。
若依官網:http://ruoyi.vip/
1.2 安裝教程
開始若依后台管理系統只需要簡單的三步即可:
- 克隆若依官方代碼庫;

- 初始化MySQL數據庫腳本;

- 修改數據庫連接信息。

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.songwh.**.mapper","com.ruoyi.**.mapper"})
public class ApplicationConfig {
}
- 修改包掃描路徑,
Ruoyi-admin
的RuoYiApplication
上面的SpringBootApplication
注解增加scanBasePackages
值。
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}, scanBasePackages = {"com.songwh.*", "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 &