说明
我们在运行一个系统时,不可避免的要加载一些常用的数据,如默认用户,各种数据枚举等。
现在流行的方式为配置一个json文件,此json文件可以放在外部系统读取,也可以放入src/main/resources下,读取的顺序可以和 application.yml 文件一样。加载优先级:外部同级目录 > 外部config目录 > 内部 resources下同级目录 > 内部 resources下config目录。
其实是一段函数控制的:
private static File getResFile(String filename) throws FileNotFoundException {
File file = new File(filename);
if (!file.exists()) { // 如果同级目录没有,则去config下面找
log.debug("不在同级目录,进入config目录查找");
file = new File("config/"+filename);
}
Resource resource = new FileSystemResource(file);
if (!resource.exists()) { //config目录下还是找不到,那就直接用classpath下的
log.debug("不在config目录,进入classpath目录查找");
file = ResourceUtils.getFile("classpath:"+filename);
}
return file;