java - spring 不支持多个属性文件

标签 java spring hibernate

这个问题可能听起来很老,但我无法使用多个 properties 文件,因为在寻找解决方案后,我开始知道对于 validator 类,我添加了 hibernate validator 4,5,Jboss Logging Final jars 现在它说

org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#1197783': Cannot resolve reference to bean 'validator' while setting bean property 'validator'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'validator' defined in ServletContext resource [/WEB-INF/springDispatcherServlet-servlet.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: org.hibernate.validator.internal.engine.ConfigurationImpl.getDefaultParameterNameProvider()Ljavax/validation/ParameterNameProvider;

这是我的配置文件

<mvc:annotation-driven enable-matrix-variables="true"
        validator="validator" />
<context:component-scan base-package="com.*" />
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/views/" />
        <property name="suffix" value=".jsp" />
    </bean>
<mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**" />
            <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
                <property name="paramName" value="language" />
            </bean>
        </mvc:interceptor>
    </mvc:interceptors>
    <bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        value="/com/resources/messages,/com/resources/messages_validation.properties"
        <property name="defaultEncoding" value="UTF-8" />
    </bean>
    <bean id="localeResolver"
        class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
    </bean>

    <bean id="validator"
        class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <property name="validationMessageSource" ref="messageSource" />
    </bean>

属性文件的名称(它们位于同一文件夹中)

messages_en.properties
messages_nl.properties
messages_validations.properties

我无法理解为什么如果一切都在正确的位置它会给我错误

请帮忙

最佳答案

尝试,

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>classpath:com/resources/messages</value>
                <value>classpath:com/resources</value>                
            </list>
        </property>
    </bean>

关于java - spring 不支持多个属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40055586/

相关文章:

spring - 为什么使用 HttpServletRequest 向浏览器发送响应?

java - java jdbc 结果集使用什么数据结构。 java中处理jdbc记录的事实上的标准是什么?

Java错误: java. lang.ClassNotFoundException:

java - hql 的字符串分割函数

java - Java 中引用的概念问题

java - 如何解决此 UnsatisfiedLinkError?

java - Android中的泄漏窗口异常

java - 广告正在加载,但不显示?

java - Hibernate Spatial - 遇到无效的字节序标志值

java - 需要最佳的实体和查询设计来获取具有多个关联的对象