Я определил связанные с валидацией бобы в Spring-mvc.xml и Spring-mvc-rest.xml, но ошибка, связанная с валидацией, возникает при запуске Tomcat. . < /p>
Caused by: org.springframework.beans.PropertyBatchUpdateException: Failed properties: Property 'validationMessageSource' threw exception
< /code>
Я не очень хорошо знаком с весной, поэтому я был бы признателен за любую экспертную информацию. < /p>
среда < /h3>
Tomcat: 10
java: 21
maven: 3.9.9
Framework: Terasoluna 5.9
Структура проекта: мультимодуль (домен, Интернет, env) < /p>
структура проекта (экстракт) < /h3>
domain
env
web
|-src/main
└resources
└i18n
└api
└api-parameter-xxx.properties
└web
└validation-messages-xxx.properties
└application-xxx.properties
└META-INF
└spring
└applicatonContext.xml
└spring-mvc.xml
└spring-mvc-rest.xml
└spring-security.xml
└webapp
└META-INF
└resources
└WEB-INF
└web.xml
< /code>
функциональный
...
[*]
...
< /code>
{Custom Class Extending LocalValidatorFactoryBean} находится в модуле домена.
contextConfigLocation
classpath*:META-INF/spring/applicationContext.xml
classpath*:META-INF/spring/spring-security.xml
apiServlet
org.springframework.web.servlet.DispatcherServlet
throwExceptionIfNoHandlerFound
true
contextConfigLocation
classpath*:META-INF/spring/spring-mvc-rest.xml
1
...
apiServlet
/api/*
appServlet
org.springframework.web.servlet.DispatcherServlet
throwExceptionIfNoHandlerFound
true
contextConfigLocation
classpath*:META-INF/spring/spring-mvc.xml
2
...
appServlet
/
< /code>
Попытки разрешить < /h3>
- Проверка pom.xml
Ссылка: Spring Framework. Проблема № 15099 < /li >
< /ol>
org.hibernate.validator
hibernate-validator
8.0.1.Final
< /code>
Могут возникнуть проблемы с совместимостью с валидатором Hibernate. < /p>
Изменение имен Bessaleource Bean
Я изменил имена компонентов MessageSource в Spring-Mvc.xml и Spring-MVC-rest.xml на сообщения Speakyourceweb и Messageourcerest, соответственно.
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'messageResolver': Unsatisfied dependency expressed through field 'messageSourceInject': No qualifying bean of type 'org.springframework.context.MessageSource' available: expected single matching bean but found 2: messageSourceRest,messageSourceWeb
< /code>
Кажется, что Messageresolver не может разрешить ни одного боба. Я ожидал отдельных контейнеров DI для Интернета и отдыха, но оба могут быть внутри одного и того же контейнера DI? Spring-Mvc.xml и Spring-MVC-rest.xml, оставив его определенным только в ApplicationContext.xml, но сообщение об ошибке не изменилось: < /li>
< /ol>
Подробнее здесь: https://stackoverflow.com/questions/794 ... ing-tomcat