diff --git a/pom.xml b/pom.xml
index 38e27be005d52a64273c1b253fb90872d7149a6d..efa0749c1c0673eb0fcc771e31910132e56520a4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
 	<parent>
 		<groupId>de.ozgcloud.common</groupId>
 		<artifactId>ozgcloud-common-parent</artifactId>
-		<version>4.9.0</version>
+		<version>4.11.0</version>
 	</parent>
 
 	<groupId>de.ozgcloud.eingang</groupId>
@@ -44,8 +44,8 @@
 	<packaging>jar</packaging>
 
 	<properties>
-		<eingang-manager.version>2.18.0</eingang-manager.version>
-		<formsolutions-semantik.version>2.18.0</formsolutions-semantik.version>
+		<eingang-manager.version>2.18.1</eingang-manager.version>
+		<formsolutions-semantik.version>2.18.1</formsolutions-semantik.version>
 
 		<jaxb3-plugin.version>0.15.0</jaxb3-plugin.version>
 		<xmlschema.version>2.3.0</xmlschema.version>
diff --git a/src/main/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapper.java b/src/main/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapper.java
index 1f7577426808fb799db0ff3292ad43898cf652c3..5d3f5c5c1b07eadcd409250c56aa99476990d115 100644
--- a/src/main/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapper.java
+++ b/src/main/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapper.java
@@ -31,7 +31,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
 
-import org.springframework.beans.factory.annotation.Autowired;
+import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
 
@@ -43,6 +43,7 @@ import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.IncomingFile;
 
 @Component
+@RequiredArgsConstructor
 class FormSolutionsRequestMapper {
 	static final TypeReference<Map<String, Object>> VALUE_TYPE_REF = new TypeReference<Map<String, Object>>() {
 	};
@@ -55,10 +56,8 @@ class FormSolutionsRequestMapper {
 	public static final String FORMDATA_FIELD_POSTKORBHANDLE = "postkorbhandle";
 	static final String FORMDATA_FIELD_TRANSACTION_ID = "transactionId";
 
-	@Autowired
-	private FormSolutionsAttachmentsMapper attachmentMapper;
-	@Autowired
-	private ObjectMapper objectMapper;
+	private final FormSolutionsAttachmentsMapper attachmentMapper;
+	private final ObjectMapper objectMapper;
 
 	public FormData map(File jsonFile) {
 		var eingang = mapEingang(jsonFile);
diff --git a/src/main/java/de/ozgcloud/eingang/formsolutions/SemantikAdapterConfiguration.java b/src/main/java/de/ozgcloud/eingang/formsolutions/SemantikAdapterConfiguration.java
deleted file mode 100644
index 82cef5387fb50abe6464c4ca4e776b2786673ba8..0000000000000000000000000000000000000000
--- a/src/main/java/de/ozgcloud/eingang/formsolutions/SemantikAdapterConfiguration.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2022 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.eingang.formsolutions;
-
-import de.ozgcloud.eingang.semantik.enginebased.EngineBasedSemantikAdapter;
-import de.ozgcloud.eingang.semantik.enginebased.formsolutions.FormSolutionsEngineBasedAdapter;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class SemantikAdapterConfiguration {
-
-	@Bean
-	public EngineBasedSemantikAdapter engineBasedSemantikAdapter() {
-		return new FormSolutionsEngineBasedAdapter();
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/de/ozgcloud/eingang/formsolutions/SendFormEndpoint.java b/src/main/java/de/ozgcloud/eingang/formsolutions/SendFormEndpoint.java
index 3610ca6df42aa74792df1d458c0088c88289ae56..d00eea0b410bf83899af1b67c127466a27f8eef8 100644
--- a/src/main/java/de/ozgcloud/eingang/formsolutions/SendFormEndpoint.java
+++ b/src/main/java/de/ozgcloud/eingang/formsolutions/SendFormEndpoint.java
@@ -27,9 +27,10 @@ import java.io.File;
 import java.util.UUID;
 import java.util.function.Supplier;
 
+import lombok.RequiredArgsConstructor;
+import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.logging.log4j.CloseableThreadContext;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ws.server.endpoint.annotation.Endpoint;
 import org.springframework.ws.server.endpoint.annotation.PayloadRoot;
 import org.springframework.ws.server.endpoint.annotation.RequestPayload;
@@ -37,18 +38,16 @@ import org.springframework.ws.server.endpoint.annotation.ResponsePayload;
 
 import de.ozgcloud.common.binaryfile.TempFileUtils;
 import de.ozgcloud.eingang.semantik.SemantikAdapter;
-import lombok.extern.log4j.Log4j2;
 
 @Endpoint
 @Log4j2
+@RequiredArgsConstructor
 public class SendFormEndpoint {
 
 	public static final String JSON_FIELD = "json";
 
-	@Autowired
-	private FormSolutionsRequestMapper requestMapper;
-	@Autowired
-	private SemantikAdapter semantikAdapter;
+	private final FormSolutionsRequestMapper requestMapper;
+	private final SemantikAdapter semantikAdapter;
 
 	private static final String REQUEST_ID_KEY = "requestId";
 
diff --git a/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperITCase.java b/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperITCase.java
index a77c02ad903a5d8f5df904033a731db9f74277ec..dbacda8a8aae670992e1084fd29bdc6ead0df799 100644
--- a/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperITCase.java
+++ b/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperITCase.java
@@ -24,18 +24,19 @@
 package de.ozgcloud.eingang.formsolutions;
 
 import static de.ozgcloud.eingang.common.formdata.FormSolutionsTestFactory.*;
-import static org.assertj.core.api.Assertions.*;
+import static org.assertj.core.api.Assertions.assertThat;
 
 import java.io.InputStream;
 import java.util.List;
 import java.util.Map;
 
+import lombok.SneakyThrows;
 import org.assertj.core.api.ObjectAssert;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
 
 import de.ozgcloud.common.binaryfile.TempFileUtils;
 import de.ozgcloud.common.test.TestUtils;
@@ -43,7 +44,7 @@ import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.IncomingFile;
 import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
 import de.ozgcloud.eingang.semantik.enginebased.formsolutions.FormSolutionsEngineBasedAdapter;
-import lombok.SneakyThrows;
+
 
 @SpringBootTest
 @ActiveProfiles({ "local", "itcase" })
@@ -52,7 +53,7 @@ class FormSolutionsRequestMapperITCase {
 	private static final String COMPONENTS = "components";
 	private static final String PANELS = "panels";
 
-	@SpyBean
+	@MockitoSpyBean
 	private FormSolutionsRequestMapper mapper;
 
 	@Nested
diff --git a/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperTest.java b/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperTest.java
index bbae0375f29ff23f9c5b93ffcf0843c16762689c..419829e31cefee60423364da10038bc67511c403 100644
--- a/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperTest.java
+++ b/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperTest.java
@@ -23,19 +23,15 @@
  */
 package de.ozgcloud.eingang.formsolutions;
 
-import static de.ozgcloud.eingang.common.formdata.FormSolutionsTestFactory.*;
-import static de.ozgcloud.eingang.formsolutions.FormSolutionsRequestMapper.*;
-import static de.ozgcloud.eingang.semantik.enginebased.formsolutions.FormSolutionsEngineBasedAdapter.*;
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.*;
-
 import java.io.File;
 import java.io.InputStream;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.SneakyThrows;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
@@ -47,15 +43,19 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
 import de.ozgcloud.common.binaryfile.TempFileUtils;
 import de.ozgcloud.common.errorhandling.TechnicalException;
 import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
 import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory;
-import lombok.SneakyThrows;
+
+import static de.ozgcloud.eingang.common.formdata.FormSolutionsTestFactory.*;
+import static de.ozgcloud.eingang.formsolutions.FormSolutionsRequestMapper.*;
+import static de.ozgcloud.eingang.semantik.enginebased.formsolutions.FormSolutionsEngineBasedAdapter.IDENTIFIER_KEY;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.*;
 
 class FormSolutionsRequestMapperTest {
 
@@ -108,7 +108,7 @@ class FormSolutionsRequestMapperTest {
 
 		@Test
 		@SneakyThrows
-		void shouldHandleJsonException() throws JsonMappingException, JsonProcessingException {
+		void shouldHandleJsonException() throws JsonProcessingException {
 			doThrow(JsonProcessingException.class).when(objectMapper).readValue(any(InputStream.class), eq(FormSolutionsEingang.class));
 
 			assertThatThrownBy(() -> mapper.mapEingang(simpleJsonFile)).isInstanceOf(TechnicalException.class);
@@ -134,21 +134,21 @@ class FormSolutionsRequestMapperTest {
 			void shouldContainPanelIdentifier() {
 				var eingang = mapper.mapEingang(simpleJsonFile);
 
-				assertThat(getPanels(eingang).get(0)).containsEntry(IDENTIFIER_KEY, PANEL_ID);
+				assertThat(getPanels(eingang).getFirst()).containsEntry(IDENTIFIER_KEY, PANEL_ID);
 			}
 
 			@Test
 			void shouldContainPanelComponets() {
 				var eingang = mapper.mapEingang(simpleJsonFile);
 
-				assertThat(getPanels(eingang).get(0).get(COMPONENTS)).isNotNull();
+				assertThat(getPanels(eingang).getFirst().get(COMPONENTS)).isNotNull();
 			}
 
 			@Test
 			void shouldContainTextComponets() {
 				var eingang = mapper.mapEingang(simpleJsonFile);
 
-				assertThat(getComponents(eingang).get(0))
+				assertThat(getComponents(eingang).getFirst())
 						.containsEntry(IDENTIFIER_KEY, COMPONENT_ID)
 						.containsEntry(STRING_VALUE, COMPONENT_VALUE);
 			}
@@ -168,14 +168,14 @@ class FormSolutionsRequestMapperTest {
 				void shouldContainGroup() {
 					var eingang = mapper.mapEingang(nestedComponenetJsonFile);
 
-					assertThat(getComponents(eingang).get(0)).containsEntry(IDENTIFIER_KEY, OBJEKTGRUPPE_0);
+					assertThat(getComponents(eingang).getFirst()).containsEntry(IDENTIFIER_KEY, OBJEKTGRUPPE_0);
 				}
 
 				@Test
 				void shouldContainDateField() {
 					var eingang = mapper.mapEingang(nestedComponenetJsonFile);
 
-					assertThat(getNestedComponents(eingang).get(0))
+					assertThat(getNestedComponents(eingang).getFirst())
 							.containsEntry(IDENTIFIER_KEY, DATE_COMPONENT_ID)
 							.containsEntry(STRING_VALUE, DATE_COMPONENT_VALUE);
 				}
@@ -184,12 +184,12 @@ class FormSolutionsRequestMapperTest {
 
 		@SuppressWarnings("unchecked")
 		private List<Map<String, Object>> getComponents(FormSolutionsEingang eingang) {
-			return (List<Map<String, Object>>) getPanels(eingang).get(0).get(COMPONENTS);
+			return (List<Map<String, Object>>) getPanels(eingang).getFirst().get(COMPONENTS);
 		}
 
 		@SuppressWarnings("unchecked")
 		private List<Map<String, Object>> getNestedComponents(FormSolutionsEingang eingang) {
-			return (List<Map<String, Object>>) ((List<Map<String, Object>>) getPanels(eingang).get(0).get(COMPONENTS)).get(0).get(COMPONENTS);
+			return (List<Map<String, Object>>) ((List<Map<String, Object>>) getPanels(eingang).getFirst().get(COMPONENTS)).getFirst().get(COMPONENTS);
 		}
 
 		@SuppressWarnings("unchecked")
diff --git a/src/test/java/de/ozgcloud/eingang/formsolutions/FormsolutionsITCase.java b/src/test/java/de/ozgcloud/eingang/formsolutions/FormsolutionsITCase.java
index 58fff42aa45507c974b521813b3901e68f1d1af5..f3db3f6d8747b99621ddfab5e59334976991a8dd 100644
--- a/src/test/java/de/ozgcloud/eingang/formsolutions/FormsolutionsITCase.java
+++ b/src/test/java/de/ozgcloud/eingang/formsolutions/FormsolutionsITCase.java
@@ -23,12 +23,15 @@
  */
 package de.ozgcloud.eingang.formsolutions;
 
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
 import java.util.List;
 
+import io.grpc.Channel;
+import io.grpc.stub.CallStreamObserver;
+import io.grpc.stub.ClientResponseObserver;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -38,9 +41,9 @@ import org.mockito.Mock;
 import org.mockito.verification.Timeout;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
 import org.springframework.test.util.ReflectionTestUtils;
 
 import de.ozgcloud.common.test.TestUtils;
@@ -52,19 +55,16 @@ import de.ozgcloud.vorgang.grpc.binaryFile.GrpcUploadBinaryFileResponse;
 import de.ozgcloud.vorgang.vorgang.GrpcCreateVorgangRequest;
 import de.ozgcloud.vorgang.vorgang.GrpcCreateVorgangResponse;
 import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub;
-import io.grpc.Channel;
-import io.grpc.stub.CallStreamObserver;
-import io.grpc.stub.ClientResponseObserver;
 
 @SpringBootTest
 @DirtiesContext
 @ActiveProfiles({ "local", "itcase" })
-public class FormsolutionsITCase {
+class FormsolutionsITCase {
 
 	@Autowired
 	private SendFormEndpoint endpoint;
 
-	@MockBean
+	@MockitoBean
 	private VorgangManagerServerResolver resolver;
 
 	@Mock
@@ -110,9 +110,9 @@ public class FormsolutionsITCase {
 		void shouldContainZustaendigeStelle() {
 			new Thread(() -> endpoint.receiveForm(request)).start();
 
-			var request = getCreateVorgangRequest();
+			var vorgangRequest = getCreateVorgangRequest();
 
-			assertThat(request.getEingang().getZustaendigeStelle().getOrganisationseinheitenId()).isEqualTo("5678");
+			assertThat(vorgangRequest.getEingang().getZustaendigeStelle().getOrganisationseinheitenId()).isEqualTo("5678");
 		}
 
 		private GrpcCreateVorgangRequest getCreateVorgangRequest() {
@@ -151,7 +151,7 @@ public class FormsolutionsITCase {
 
 			var requests = getFileRequests();
 
-			var contentType = requests.get(0).getMetadata().getContentType();
+			var contentType = requests.getFirst().getMetadata().getContentType();
 			assertThat(contentType).isEqualTo("application/pdf");
 		}
 
@@ -161,7 +161,7 @@ public class FormsolutionsITCase {
 
 			var requests = getFileRequests();
 
-			var size = requests.get(0).getMetadata().getSize();
+			var size = requests.getFirst().getMetadata().getSize();
 			assertThat(size).isEqualTo(6788);
 		}
 
diff --git a/src/test/java/de/ozgcloud/eingang/formsolutions/SendFormEndpointITCase.java b/src/test/java/de/ozgcloud/eingang/formsolutions/SendFormEndpointITCase.java
index 6cb2e26aeb6c724cd9ec4c102303467b7be75664..5ccfa9459ce6bfd236ec2d345082d5b924abef92 100644
--- a/src/test/java/de/ozgcloud/eingang/formsolutions/SendFormEndpointITCase.java
+++ b/src/test/java/de/ozgcloud/eingang/formsolutions/SendFormEndpointITCase.java
@@ -23,13 +23,15 @@
  */
 package de.ozgcloud.eingang.formsolutions;
 
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.*;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import java.nio.file.Files;
 import java.util.Optional;
 
+import lombok.SneakyThrows;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
@@ -39,33 +41,32 @@ import org.mockito.Captor;
 import org.mockito.Mock;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.context.ApplicationContext;
 import org.springframework.core.io.Resource;
 import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.bean.override.mockito.MockitoBean;
+import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.ServiceKonto.PostfachAddress;
 import de.ozgcloud.eingang.common.formdata.StringBasedIdentifier;
 import de.ozgcloud.eingang.router.VorgangRemoteService;
-import lombok.SneakyThrows;
 
 @ActiveProfiles({ "local", "itcase" })
 @SpringBootTest
 class SendFormEndpointITCase {
 
-	private final static String FILE_BASE_PATH = "classpath:formular/";
+	private static final String FILE_BASE_PATH = "classpath:formular/";
 
-	private final static String FORMULAR_JSON = "RequestJsonContent.json";
-	private final static String FORMULAR_POSTFACH_ID = "51522620-03d2-4507-b1f0-08d86920efed";
+	private static final String FORMULAR_JSON = "RequestJsonContent.json";
+	private static final String FORMULAR_POSTFACH_ID = "51522620-03d2-4507-b1f0-08d86920efed";
 
 	@Autowired
 	private ApplicationContext applicationContext;
 
-	@SpyBean
+	@MockitoSpyBean
 	private SendFormEndpoint endpoint;
-	@MockBean
+	@MockitoBean
 	private VorgangRemoteService vorgangRemoteService;
 
 	@Captor