SpringBoot的yml配置用了好多年了,若依的方式让我眼前一亮。这些做确实挺好用的。
generator.ymlRuoYi-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();