diff --git a/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/java/com/github/dozermapper/spring/MapperDefinitionParser.java b/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/java/com/github/dozermapper/spring/MapperDefinitionParser.java
index ac112714a..4fccc046e 100644
--- a/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/java/com/github/dozermapper/spring/MapperDefinitionParser.java
+++ b/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/java/com/github/dozermapper/spring/MapperDefinitionParser.java
@@ -21,6 +21,7 @@
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.AbstractBeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
+import org.springframework.util.StringUtils;
/**
* {@link AbstractBeanDefinitionParser} which uses {@link BeanDefinitionBuilder#rootBeanDefinition(Class)}
@@ -31,6 +32,10 @@ public class MapperDefinitionParser extends AbstractBeanDefinitionParser {
@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(DozerBeanMapperFactoryBean.class);
+ String mappingFiles = element.getAttribute("mapping-files");
+ if (StringUtils.hasLength(mappingFiles)) {
+ builder.addPropertyValue("mappingFiles", mappingFiles);
+ }
return builder.getBeanDefinition();
}
}
diff --git a/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/resources/META-INF/spring.schemas b/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/resources/META-INF/spring.schemas
index bd6f55b80..8823fd4d0 100644
--- a/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/resources/META-INF/spring.schemas
+++ b/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/resources/META-INF/spring.schemas
@@ -15,3 +15,4 @@
#
http\://dozermapper.github.io/schema/dozer-spring.xsd=schema/dozer-spring.xsd
+https\://dozermapper.github.io/schema/dozer-spring.xsd=schema/dozer-spring.xsd
diff --git a/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/resources/schema/dozer-spring.xsd b/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/resources/schema/dozer-spring.xsd
index a596e300d..0da4dbc7b 100644
--- a/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/resources/schema/dozer-spring.xsd
+++ b/dozer-integrations/dozer-spring-support/dozer-spring4/src/main/resources/schema/dozer-spring.xsd
@@ -27,7 +27,18 @@
-
+
+
+
+
+
+
+
+
+
diff --git a/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/java/com/github/dozermapper/spring/functional_tests/NamespaceTest.java b/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/java/com/github/dozermapper/spring/functional_tests/NamespaceTest.java
index 54b715262..5cc215cc6 100644
--- a/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/java/com/github/dozermapper/spring/functional_tests/NamespaceTest.java
+++ b/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/java/com/github/dozermapper/spring/functional_tests/NamespaceTest.java
@@ -15,6 +15,7 @@
*/
package com.github.dozermapper.spring.functional_tests;
+import com.github.dozermapper.core.DozerBeanMapper;
import com.github.dozermapper.core.Mapper;
import com.github.dozermapper.spring.functional_tests.support.ReferencingBean;
@@ -25,8 +26,9 @@
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "/springNameSpace.xml")
@@ -46,6 +48,13 @@ public void shouldRegisterMapper() {
Mapper mapper = referencingBean.getMapper();
assertNotNull(mapper);
- assertEquals(beanMapper, mapper);
+ assertSame(beanMapper, mapper);
}
+
+ @Test
+ public void shoulduseMappingFiles() {
+ DozerBeanMapper beanMapper = context.getBean("beanMapperWithMappingFiles", DozerBeanMapper.class);
+ assertTrue(beanMapper.getMappingFiles().stream().anyMatch(file -> file.contains("/mappings/")));
+ }
+
}
diff --git a/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/java/com/github/dozermapper/spring/functional_tests/support/ReferencingBean.java b/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/java/com/github/dozermapper/spring/functional_tests/support/ReferencingBean.java
index e2902f061..af5982815 100644
--- a/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/java/com/github/dozermapper/spring/functional_tests/support/ReferencingBean.java
+++ b/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/java/com/github/dozermapper/spring/functional_tests/support/ReferencingBean.java
@@ -24,9 +24,9 @@
public class ReferencingBean {
@Autowired
- Mapper mapper;
+ Mapper beanMapper;
public Mapper getMapper() {
- return mapper;
+ return beanMapper;
}
}
diff --git a/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/resources/springNameSpace.xml b/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/resources/springNameSpace.xml
index a2b685818..8f49c2c95 100644
--- a/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/resources/springNameSpace.xml
+++ b/dozer-integrations/dozer-spring-support/dozer-spring4/src/test/resources/springNameSpace.xml
@@ -27,5 +27,7 @@
+
+