若依yml配置文件读取方法学习

博客分享了Ruoyi框架如何通过generator.yml配置文件进行代码生成设置,包括作者、包路径、表前缀等,并在GenConfig.java中使用@ConfigurationProperties和@PropertySource注解读取配置。这种方式使得配置信息的获取变得简单直接,只需调用静态方法即可。示例中展示了如何获取生成代码目录、Java后台和Vue前端的Src目录。
摘要由CSDN通过智能技术生成

SpringBoot的yml配置用了好多年了,若依的方式让我眼前一亮。这些做确实挺好用的。

generator.yml

RuoYi-Vue/ruoyi-generator/src/main/resources/generator.yml
内容如下:

# 代码生成
gen:
  # 作者
  author: ruoyi
  # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
  packageName: com.ruoyi.system
  # 自动去除表前缀,默认是false
  autoRemovePre: false
  # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
  tablePrefix: sys_
  # 生成代码保存的目录(临时目录)
  generatorCodePath: /Users/itkey/Downloads/generatorCode
  # Java后台的Src目录(后端项目代码存放的目录)
  javaSrc: /Users/itkey/Downloads/ruoyi-admin/src
  # Vue前端的Src目录(前端项目代码存放的目录)
  vueSrc: /Users/itkey/Downloads/ruoyi-ui/src

GenConfig.java

RuoYi-Vue/ruoyi-generator/src/main/java/com/ruoyi/generator/config/GenConfig.java
内容如下:

package com.ruoyi.generator.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

/**
 * 读取代码生成相关配置
 *
 * @author ruoyi
 */
@Component
@ConfigurationProperties(prefix = "gen")
@PropertySource(value = { "classpath:generator.yml" })
public class GenConfig
{
    /** 作者 */
    public static String author;

    /** 生成包路径 */
    public static String packageName;

    /** 自动去除表前缀,默认是false */
    public static boolean autoRemovePre;

    /** 表前缀(类名不会包含表前缀) */
    public static String tablePrefix;

    //生成代码保存的目录(临时目录)
    public static String generatorCodePath;
    //Java后台的Src目录(后端项目代码存放的目录)
    public static String javaSrc;
    //Vue前端的Src目录(前端项目代码存放的目录)
    public static String vueSrc;

    public static String getAuthor()
    {
        return author;
    }

    @Value("${author}")
    public void setAuthor(String author)
    {
        GenConfig.author = author;
    }

    public static String getPackageName()
    {
        return packageName;
    }

    @Value("${packageName}")
    public void setPackageName(String packageName)
    {
        GenConfig.packageName = packageName;
    }

    public static boolean getAutoRemovePre()
    {
        return autoRemovePre;
    }

    @Value("${autoRemovePre}")
    public void setAutoRemovePre(boolean autoRemovePre)
    {
        GenConfig.autoRemovePre = autoRemovePre;
    }

    public static String getTablePrefix()
    {
        return tablePrefix;
    }

    @Value("${tablePrefix}")
    public void setTablePrefix(String tablePrefix)
    {
        GenConfig.tablePrefix = tablePrefix;
    }

    public static String getGeneratorCodePath() {
        return generatorCodePath;
    }
    @Value("${generatorCodePath}")
    public  void setGeneratorCodePath(String generatorCodePath) {
        GenConfig.generatorCodePath = generatorCodePath;
    }

    public static String getJavaSrc() {
        return javaSrc;
    }
    @Value("${javaSrc}")
    public void setJavaSrc(String javaSrc) {
        GenConfig.javaSrc = javaSrc;
    }

    public static String getVueSrc() {
        return vueSrc;
    }
    @Value("${vueSrc}")
    public void setVueSrc(String vueSrc) {
        GenConfig.vueSrc = vueSrc;
    }
}

配置信息读取

其他的地方,平平无奇。但是配置文件读取的地方,这样写确实方便啊。直接调用static方法就可以实现配置读取,太酷了!

 //生成代码的目录
String generatorCodePath = GenConfig.getGeneratorCodePath();
 //Java后台的Src目录
String javaSrc = GenConfig.getJavaSrc();
 //Vue前端的Src目录
String vueSrc = GenConfig.getVueSrc();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值