Springboot的路径问题, 以config目录为例。“file:D:/config”, “classpath:/config”,"D:/config"和file:config下面。

时间:2024-04-06 20:36:44

最被Springboot折腾的够呛,一周的时间都在为这货打转,通过折腾,最终也搞明白了,顺便记录一下。

(1)file:D:/config,带有前缀的,在springboot 中使用,必须要加上该"file:"前缀,表示操作系统的路径。应用场景之一,把路径转换为URI,通过网络访问时,该前缀必须加上。不增加时访问不到图片或者文件。如下所示:

Springboot的路径问题, 以config目录为例。“file:D:/config”, “classpath:/config”,"D:/config"和file:config下面。

(2)“classpath:/config”路径特指的resources目录,在创建springboot工程时,该目录会自动创建。

(3)"D:/config":该目录无须解释,操作系统目录。在Springboot中,使用File类时,必须去掉“file:”前缀,否则springboot会自动增加默认路径,如:上传文件时,如果使用了前缀,就会增加tomcat的临时路径。把网络上传的图片保存到服务器,需要先去除前缀,使用场景如下图所示:

Springboot的路径问题, 以config目录为例。“file:D:/config”, “classpath:/config”,"D:/config"和file:config下面。

(4)“file:config”:该路径是默认当前服务的跟路径下的config目录。如:如果在D:/UserService下,使用java -jar userservice-0-0-1.jar,那么"file:config"所代表的路径就是:D:/UserService/config目录。应用场景之一是就把mapper文件和springboot文件从resouces目录移动到服务目录。我的目录结构共享一下,希望对大家有用。如下图所示:

Springboot的路径问题, 以config目录为例。“file:D:/config”, “classpath:/config”,"D:/config"和file:config下面。

做一个好的程序,首先要考虑到微服务的可维护性,目录结构一定要合理,不要把各种配置文件都打包到jar里面。我的目录结果如下图所示:

Springboot的路径问题, 以config目录为例。“file:D:/config”, “classpath:/config”,"D:/config"和file:config下面。