diff --git a/archive-manager-server/src/main/java/de/ozgcloud/archive/export/ExportConfiguration.java b/archive-manager-server/src/main/java/de/ozgcloud/archive/export/ExportConfiguration.java
index 41a334bd5db56657b0ed4e29c86477cca123bd70..9e14461dc3f461b96cb9404f41c2eab2ea8c5f74 100644
--- a/archive-manager-server/src/main/java/de/ozgcloud/archive/export/ExportConfiguration.java
+++ b/archive-manager-server/src/main/java/de/ozgcloud/archive/export/ExportConfiguration.java
@@ -29,7 +29,6 @@ import java.util.Map;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.oxm.jaxb.Jaxb2Marshaller;
-import org.springframework.validation.Validator;
 
 import jakarta.xml.bind.Marshaller;
 import lombok.RequiredArgsConstructor;
@@ -44,11 +43,6 @@ class ExportConfiguration {
 
 	private final XdomeaNamespacePrefixMapper prefixMapper;
 
-	@Bean
-	static Validator configurationPropertiesValidator() {
-		return new XdomeaPropertiesValidator();
-	}
-
 	@Bean
 	Jaxb2Marshaller marshaller() {
 		var marshaller = new Jaxb2Marshaller();
diff --git a/archive-manager-server/src/main/java/de/ozgcloud/archive/export/XdomeaProperties.java b/archive-manager-server/src/main/java/de/ozgcloud/archive/export/XdomeaProperties.java
index 49832ad651a2a8cb338004baa88a77c255f444dc..3116a593eb97ceecd04f6d88e7370a4cb344ed76 100644
--- a/archive-manager-server/src/main/java/de/ozgcloud/archive/export/XdomeaProperties.java
+++ b/archive-manager-server/src/main/java/de/ozgcloud/archive/export/XdomeaProperties.java
@@ -23,10 +23,14 @@
  */
 package de.ozgcloud.archive.export;
 
+import org.apache.commons.beanutils.BeanUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.validation.annotation.Validated;
+import org.springframework.validation.Errors;
+import org.springframework.validation.Validator;
 
+import de.ozgcloud.common.errorhandling.TechnicalException;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Getter;
@@ -35,15 +39,50 @@ import lombok.Setter;
 
 @Configuration
 @ConfigurationProperties("ozgcloud.xdomea")
-@Validated
 @Builder
 @Getter
 @Setter
 @NoArgsConstructor
 @AllArgsConstructor
-public class XdomeaProperties {
+public class XdomeaProperties implements Validator {
+
+	private static final String PROP_BEHOERDENSCHLUESSEL_URI = "behoerdenschluesselUri";
+	private static final String PROP_BEHOERDENSCHLUESSEL_VERSION = "behoerdenschluesselVersion";
 
 	private String behoerdenschluessel;
 	private String behoerdenschluesselUri;
 	private String behoerdenschluesselVersion;
+
+	@Override
+	public boolean supports(Class<?> clazz) {
+		return XdomeaProperties.class.isAssignableFrom(clazz);
+	}
+
+	@Override
+	public void validate(Object target, Errors errors) {
+		var properties = (XdomeaProperties) target;
+		validateBehoerdenschluesselProperties(errors, properties);
+	}
+
+	private void validateBehoerdenschluesselProperties(Errors errors, XdomeaProperties properties) {
+		if (StringUtils.isNotBlank(properties.getBehoerdenschluessel())) {
+			validateNotBlank(PROP_BEHOERDENSCHLUESSEL_URI, properties, errors);
+			validateNotBlank(PROP_BEHOERDENSCHLUESSEL_VERSION, properties, errors);
+		}
+	}
+
+	private void validateNotBlank(String propertyName, XdomeaProperties properties, Errors errors) {
+		getPropertyValue(propertyName, properties);
+		if (StringUtils.isBlank(getPropertyValue(propertyName, properties))) {
+			errors.rejectValue(propertyName, String.format("ozgcloud.xdomea.%s.empty", propertyName), String.format("%s must be set", propertyName));
+		}
+	}
+
+	private static String getPropertyValue(String fieldName, XdomeaProperties properties) {
+		try {
+			return BeanUtils.getSimpleProperty(properties, fieldName);
+		} catch (Exception e) {
+			throw new TechnicalException("Property does not exist", e);
+		}
+	}
 }
diff --git a/archive-manager-server/src/main/java/de/ozgcloud/archive/export/XdomeaPropertiesValidator.java b/archive-manager-server/src/main/java/de/ozgcloud/archive/export/XdomeaPropertiesValidator.java
deleted file mode 100644
index 4f4cda4bc50ece16162600656c3a23c1462c2b23..0000000000000000000000000000000000000000
--- a/archive-manager-server/src/main/java/de/ozgcloud/archive/export/XdomeaPropertiesValidator.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.archive.export;
-
-import org.apache.commons.beanutils.BeanUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.validation.Errors;
-import org.springframework.validation.Validator;
-
-import de.ozgcloud.common.errorhandling.TechnicalException;
-
-public class XdomeaPropertiesValidator implements Validator {
-
-	@Override
-	public boolean supports(Class<?> clazz) {
-		return XdomeaProperties.class.isAssignableFrom(clazz);
-	}
-
-	@Override
-	public void validate(Object target, Errors errors) {
-		var properties = (XdomeaProperties) target;
-		validateBehoerdenschluesselProperties(errors, properties);
-	}
-
-	private void validateBehoerdenschluesselProperties(Errors errors, XdomeaProperties properties) {
-		if (StringUtils.isNotBlank(properties.getBehoerdenschluessel())) {
-			validateNotBlank("behoerdenschluesselUri", properties, errors);
-			validateNotBlank("behoerdenschluesselVersion", properties, errors);
-		}
-	}
-
-	private void validateNotBlank(String propertyName, XdomeaProperties properties, Errors errors) {
-		getPropertyValue(propertyName, properties);
-		if (StringUtils.isBlank(getPropertyValue(propertyName, properties))) {
-			errors.rejectValue(propertyName, String.format("ozgcloud.xdomea.%s.empty", propertyName), String.format("%s must be set", propertyName));
-		}
-	}
-
-	private static String getPropertyValue(String fieldName, XdomeaProperties properties) {
-		try {
-			return BeanUtils.getSimpleProperty(properties, fieldName);
-		} catch (Exception e) {
-			throw new TechnicalException("Property does not exist", e);
-		}
-	}
-}
diff --git a/archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesValidatorTest.java b/archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesTest.java
similarity index 95%
rename from archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesValidatorTest.java
rename to archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesTest.java
index e5c9b728a196f3c6331de4f6f4e9a3e5d4c4e261..c0e945edf701ab54b3a45aa923e37f1d639acc3b 100644
--- a/archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesValidatorTest.java
+++ b/archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesTest.java
@@ -29,20 +29,16 @@ import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.NullAndEmptySource;
-import org.mockito.Spy;
 import org.springframework.validation.Errors;
 
-class XdomeaPropertiesValidatorTest {
-
-	@Spy
-	private XdomeaPropertiesValidator validator;
+class XdomeaPropertiesTest {
 
 	@Nested
 	class TestSupports {
 
 		@Test
 		void shouldSupportXdomeaProperties() {
-			var supports = validator.supports(XdomeaProperties.class);
+			var supports = XdomeaPropertiesTestFactory.create().supports(XdomeaProperties.class);
 
 			assertThat(supports).isTrue();
 		}
@@ -155,7 +151,7 @@ class XdomeaPropertiesValidatorTest {
 		}
 
 		private Errors validate(XdomeaProperties properties) {
-			return validator.validateObject(properties);
+			return properties.validateObject(properties);
 		}
 	}
 }
diff --git a/archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesValidatorITCase.java b/archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesValidatorITCase.java
deleted file mode 100644
index 0ef292ea8ef35c2994f24c103d696403290b4de2..0000000000000000000000000000000000000000
--- a/archive-manager-server/src/test/java/de/ozgcloud/archive/export/XdomeaPropertiesValidatorITCase.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.archive.export;
-
-import static org.assertj.core.api.Assertions.*;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.context.ApplicationContext;
-
-import de.ozgcloud.common.test.ITCase;
-
-@ITCase
-class XdomeaPropertiesValidatorITCase {
-
-	@Test
-	void shouldExistInApplicationContext(ApplicationContext context) {
-		assertThat(context.getBean("configurationPropertiesValidator")).isNotNull().isInstanceOf(XdomeaPropertiesValidator.class);
-	}
-}