由于在spring的xml文件中配置了
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"><property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
<!--不设置则 默认为classpath下的 ValidationMessages.properties -->
<property name="validationMessageSource" ref="validatemessageSource"/>
</bean>
在这种情况下通过正常的程序去读取Properties文件,会出现读取失败的结果。
例如:
Properties prop = new Properties(); InputStream in = Object.class.getResourceAsStream("/validatemessage.properties"); try { prop.load(in); param2 = prop.getProperty("initYears2").trim(); } catch (IOException e) {//TODO
}
所以需要使用Spring提供的org.springframework.core.io.support.PropertiesLoaderUtil类来加载properties文件
例如:
Resource resource = new ClassPathResource("/validatemessages.properties"); Properties properties = new Properties(); try {properties = PropertiesLoaderUtils.loadProperties(resource);
} catch (IOException e) {
//TODO
}
这样就能成功的读取到properties文件,得到需要的值