在客户端代码中显示属性文件位置

时间:2011-06-15 15:53:47

标签: java spring properties

我在applicationContext文件中声明了一个bean,如下所示:

<util:properties id="myProperties" scope="prototype" location="file:${catalina.home}/webapps/myProperties.properties"/>

在我的客户端代码中,我使用这个bean来检索属性文件,如下所示:

Properties props = context.getBean("myProperties", Properties.class);

如果属性文件最初不在正确的位置,则在try catch块中。

当代码失败时,屏幕上会显示“无法找到属性文件”的错误。

我的问题是,我是否还可以显示spring在客户端代码中查找属性文件的路径?所以我的新错误消息会说:在'somePath。

中找不到属性文件

由于

2 个答案:

答案 0 :(得分:2)

使用PropertyPlaceholderConfigurer设置位置并将其注入控制器或其他字段中的另一个bean。借助File类getCanonicalFile()方法将文件名转换为系统相关文件名。

答案 1 :(得分:1)

就像user625146所说,你可以只检索系统属性catalina.home,例如(一些伪代码)

String prop = System.getProperty("catalina.home");
throw new Error ("msg" + prop + "/webapps/myProperties.properties");