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/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..1c9f91d239685b9d4b32d9137ab949cf1a49ede9 100644
--- a/src/test/java/de/ozgcloud/eingang/formsolutions/FormsolutionsITCase.java
+++ b/src/test/java/de/ozgcloud/eingang/formsolutions/FormsolutionsITCase.java
@@ -38,9 +38,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;
@@ -59,12 +59,12 @@ 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