今天在写Spring Security Hibernate的项目的时候,数据库配置的文件application.properties不知道应该放在哪里,文件加载不出来,花费了我很多时间。这里记录一下,防止以后会忘记。
classpath就是我们项目编译过后的classes目录,如同下图:
如果你是使用maven来管理项目的话,你的maven项目中会有一个resources标记的文件夹:
如果没有的话你可以在(如果你是用intellij idea)File - Project structure 里面创建一个文件夹,然后标注为resources包
在这个包里面的配置文件在编译之后会自动复制到classes文件夹下面。
如果不是maven项目的话,你放在src目录下面的文件,变异后也会复制到classes里面。
所以下面形式的配置文件可以通过这种情况来加载使用:
那么classpath和classpath*有什么区别呢?
classpath只会在第一个classes里面加载你需要的资源
classpath*会在所有的classes中加载你需要的资源。同时,如果你需要加载同名配置文件等,这种情况就需要使用classpath*来配置所有的文件。
P.S.文章不妥之处还望指正