From ecce7520fb2cb56494d78dcc6adadb446d51ace7 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Tue, 13 Nov 2012 21:47:59 -0500 Subject: [PATCH] Support HttpMessageConverter refs in mvc namespace Issue: SPR-9469 --- .../AnnotationDrivenBeanDefinitionParser.java | 7 +++--- .../web/servlet/config/spring-mvc-3.2.xsd | 23 +++++++++++++------ ...config-message-converters-defaults-off.xml | 11 +++++---- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/AnnotationDrivenBeanDefinitionParser.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/AnnotationDrivenBeanDefinitionParser.java index 0d17c110634..7a7bcd33a40 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/AnnotationDrivenBeanDefinitionParser.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/AnnotationDrivenBeanDefinitionParser.java @@ -397,10 +397,9 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser { ManagedList messageConverters = new ManagedList(); if (convertersElement != null) { messageConverters.setSource(source); - for (Element converter : DomUtils.getChildElementsByTagName(convertersElement, "bean")) { - BeanDefinitionHolder beanDef = parserContext.getDelegate().parseBeanDefinitionElement(converter); - beanDef = parserContext.getDelegate().decorateBeanDefinitionIfRequired(converter, beanDef); - messageConverters.add(beanDef); + for (Element beanElement : DomUtils.getChildElementsByTagName(convertersElement, new String[] { "bean", "ref" })) { + Object object = parserContext.getDelegate().parsePropertySubElement(beanElement, null); + messageConverters.add(object); } } diff --git a/spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc-3.2.xsd b/spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc-3.2.xsd index e3a7b954072..627d289ccd2 100644 --- a/spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc-3.2.xsd +++ b/spring-webmvc/src/main/resources/org/springframework/web/servlet/config/spring-mvc-3.2.xsd @@ -33,13 +33,22 @@ - - - - - + + + + + + + + + + + + diff --git a/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-message-converters-defaults-off.xml b/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-message-converters-defaults-off.xml index 22344c79966..81bfcdfcfc4 100644 --- a/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-message-converters-defaults-off.xml +++ b/spring-webmvc/src/test/resources/org/springframework/web/servlet/config/mvc-config-message-converters-defaults-off.xml @@ -2,14 +2,17 @@ + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd + http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> - - + + + + +