一、Properties.load()的四种配法:
首先看看配置文件的路径:是在:E:\java_indigo\Game\reso\db.properties
1、通过FileInputStream,将路径写死。是双反斜杠\\
properties.load(new FileInputStream("E:\\java_indigo\\Game\\reso\\db.properties"));
2、通过FileReader,将路径写死。是双反斜杠\\
properties.load(new FileReader("E:\\java_indigo\\Game\\reso\\db.properties"));
3、在GetProperties类中,使用GetProperties.class.getResourceAsStream("/db.properties");不用加"reso",而且是单反斜杠
properties.load(GetProperties.class.getResourceAsStream("/db.properties"));
4、在GetProperties类中,使用GetProperties.class.getClassLoader().getResourceAsStream("db.properties");比方法3中少一个"/"
properties.load(GetProperties.class.getClassLoader().getResourceAsStream("db.properties"));
总结:用1、2需要写出配置文件在磁盘中的全路径,将文件写死了。不建议这两种方法,因为当项目迁移后,路径就不匹配了。用3、4方法,路径是从与src,reso"同级"的目录下面开始写的,即不用写src和reso。
二、Mybatis中的sqlMapConfig.xml中的<mapper> 的路径写法,如下图
也是直接从与src同级的目录config下面开始写,/sqlmap/UserMapper.xml
以上的例子并不是推荐配置文件要这么放,路径要这么配。只是演示一下,当配置文件在这些位置的时候,路径应该怎么写。只是起到举例的作用,看起来更清楚。