我在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。
中找不到属性文件由于
答案 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");