From 290d4d266aa5d66f311a562b47c61328a3f76365 Mon Sep 17 00:00:00 2001 From: Amit Pandey Date: Wed, 10 Jan 2024 18:51:35 +0530 Subject: [PATCH] JAVA-29172 :- Upgrade spring-mvc-basics to Spring Boot 3 (#15555) --- spring-web-modules/spring-mvc-basics/pom.xml | 27 +++++++++++-------- .../config/MainWebAppInitializer.java | 6 ++--- .../java/com/baeldung/model/Employee.java | 2 +- .../baeldung/spring/web/config/WebConfig.java | 16 +++++------ .../web/controller/MultipartController.java | 2 +- .../RequestMappingShortcutsController.java | 12 ++++----- .../BeanNameHandlerMappingController.java | 4 +-- .../SimpleUrlMappingController.java | 5 ++-- .../handlermapping/WelcomeController.java | 5 ++-- .../HandlerMappingPrioritiesConfig.java | 1 - .../BeanNameMappingConfigIntegrationTest.java | 2 +- ...erMappingDefaultConfigIntegrationTest.java | 2 +- ...rMappingPriorityConfigIntegrationTest.java | 2 +- ...SimpleUrlMappingConfigIntegrationTest.java | 2 +- 14 files changed, 45 insertions(+), 43 deletions(-) diff --git a/spring-web-modules/spring-mvc-basics/pom.xml b/spring-web-modules/spring-mvc-basics/pom.xml index 94f3ac1e9e..919122f591 100644 --- a/spring-web-modules/spring-mvc-basics/pom.xml +++ b/spring-web-modules/spring-mvc-basics/pom.xml @@ -10,9 +10,9 @@ com.baeldung - parent-boot-2 + parent-boot-3 0.0.1-SNAPSHOT - ../../parent-boot-2 + ../../parent-boot-3 @@ -20,11 +20,6 @@ org.springframework.boot spring-boot-starter-web - - commons-fileupload - commons-fileupload - ${commons-fileupload.version} - org.apache.tomcat.embed @@ -33,6 +28,12 @@ javax.servlet jstl + ${jstl-version} + + + com.sun.xml.bind + jaxb-impl + ${jaxb-runtime.version} org.springframework.boot @@ -40,10 +41,12 @@ test - org.glassfish.jaxb - jaxb-runtime - ${jaxb-runtime.version} + io.rest-assured + rest-assured + ${rest-assured-version} + test + @@ -61,7 +64,9 @@ - 2.3.5 + 4.0.1 + 5.4.0 + 1.2 \ No newline at end of file diff --git a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/config/MainWebAppInitializer.java b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/config/MainWebAppInitializer.java index 0a2368619a..2e92506838 100644 --- a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/config/MainWebAppInitializer.java +++ b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/config/MainWebAppInitializer.java @@ -1,9 +1,9 @@ package com.baeldung.config; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRegistration; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRegistration; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.ContextLoaderListener; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; diff --git a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/model/Employee.java b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/model/Employee.java index fb0a452219..2a3c00a8fb 100644 --- a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/model/Employee.java +++ b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/model/Employee.java @@ -1,6 +1,6 @@ package com.baeldung.model; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Employee { diff --git a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/spring/web/config/WebConfig.java b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/spring/web/config/WebConfig.java index 7b0d2ddf36..dc887d30ad 100644 --- a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/spring/web/config/WebConfig.java +++ b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/spring/web/config/WebConfig.java @@ -1,10 +1,12 @@ package com.baeldung.spring.web.config; +import jakarta.servlet.MultipartConfigElement; +import org.springframework.boot.web.servlet.MultipartConfigFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.ui.context.support.ResourceBundleThemeSource; -import org.springframework.web.multipart.commons.CommonsMultipartResolver; +import org.springframework.util.unit.DataSize; import org.springframework.web.servlet.View; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer; @@ -19,8 +21,6 @@ import org.springframework.web.servlet.view.BeanNameViewResolver; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; -import java.io.IOException; - //@EnableWebMvc //@ComponentScan(basePackages = { "com.baeldung.web.controller" }) @Configuration @@ -32,12 +32,12 @@ public class WebConfig implements WebMvcConfigurer { .setViewName("index"); } - /** Multipart file uploading configuratioin */ @Bean - public CommonsMultipartResolver multipartResolver() throws IOException { - CommonsMultipartResolver resolver = new CommonsMultipartResolver(); - resolver.setMaxUploadSize(10000000); - return resolver; + public MultipartConfigElement multipartConfigElement() { + MultipartConfigFactory factory = new MultipartConfigFactory(); + factory.setMaxFileSize(DataSize.ofBytes(10000000L)); + factory.setMaxRequestSize(DataSize.ofBytes(10000000L)); + return factory.createMultipartConfig(); } @Bean diff --git a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/MultipartController.java b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/MultipartController.java index 2255ba780c..ae16010064 100644 --- a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/MultipartController.java +++ b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/MultipartController.java @@ -1,5 +1,6 @@ package com.baeldung.web.controller; +import jakarta.servlet.ServletContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -8,7 +9,6 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; -import javax.servlet.ServletContext; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; diff --git a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/RequestMappingShortcutsController.java b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/RequestMappingShortcutsController.java index e91a914c6d..08be5c2aa1 100644 --- a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/RequestMappingShortcutsController.java +++ b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/RequestMappingShortcutsController.java @@ -16,32 +16,32 @@ public class RequestMappingShortcutsController { @GetMapping("/get") public @ResponseBody ResponseEntity get() { - return new ResponseEntity("GET Response", HttpStatus.OK); + return new ResponseEntity<>("GET Response", HttpStatus.OK); } @GetMapping("/get/{id}") public @ResponseBody ResponseEntity getById(@PathVariable String id) { - return new ResponseEntity("GET Response : " + id, HttpStatus.OK); + return new ResponseEntity<>("GET Response : " + id, HttpStatus.OK); } @PostMapping("/post") public @ResponseBody ResponseEntity post() { - return new ResponseEntity("POST Response", HttpStatus.OK); + return new ResponseEntity<>("POST Response", HttpStatus.OK); } @PutMapping("/put") public @ResponseBody ResponseEntity put() { - return new ResponseEntity("PUT Response", HttpStatus.OK); + return new ResponseEntity<>("PUT Response", HttpStatus.OK); } @DeleteMapping("/delete") public @ResponseBody ResponseEntity delete() { - return new ResponseEntity("DELETE Response", HttpStatus.OK); + return new ResponseEntity<>("DELETE Response", HttpStatus.OK); } @PatchMapping("/patch") public @ResponseBody ResponseEntity patch() { - return new ResponseEntity("PATCH Response", HttpStatus.OK); + return new ResponseEntity<>("PATCH Response", HttpStatus.OK); } } diff --git a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/BeanNameHandlerMappingController.java b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/BeanNameHandlerMappingController.java index c40165f842..d6670f2565 100644 --- a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/BeanNameHandlerMappingController.java +++ b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/BeanNameHandlerMappingController.java @@ -1,10 +1,10 @@ package com.baeldung.web.controller.handlermapping; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; public class BeanNameHandlerMappingController extends AbstractController { @Override diff --git a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/SimpleUrlMappingController.java b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/SimpleUrlMappingController.java index 7732830d07..5273f044c7 100644 --- a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/SimpleUrlMappingController.java +++ b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/SimpleUrlMappingController.java @@ -1,11 +1,10 @@ package com.baeldung.web.controller.handlermapping; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - public class SimpleUrlMappingController extends AbstractController { @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { diff --git a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/WelcomeController.java b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/WelcomeController.java index 1598583127..be7789fdaf 100644 --- a/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/WelcomeController.java +++ b/spring-web-modules/spring-mvc-basics/src/main/java/com/baeldung/web/controller/handlermapping/WelcomeController.java @@ -1,12 +1,11 @@ package com.baeldung.web.controller.handlermapping; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - @Controller public class WelcomeController extends AbstractController { diff --git a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/config/HandlerMappingPrioritiesConfig.java b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/config/HandlerMappingPrioritiesConfig.java index c5fec171a7..0003ed8e28 100644 --- a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/config/HandlerMappingPrioritiesConfig.java +++ b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/config/HandlerMappingPrioritiesConfig.java @@ -5,7 +5,6 @@ import java.util.Map; import com.baeldung.web.controller.handlermapping.SimpleUrlMappingController; import com.baeldung.web.controller.handlermapping.BeanNameHandlerMappingController; -import com.baeldung.web.controller.handlermapping.WelcomeController; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping; diff --git a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/BeanNameMappingConfigIntegrationTest.java b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/BeanNameMappingConfigIntegrationTest.java index f2c2c05f29..553ac87a4f 100644 --- a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/BeanNameMappingConfigIntegrationTest.java +++ b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/BeanNameMappingConfigIntegrationTest.java @@ -30,7 +30,7 @@ public class BeanNameMappingConfigIntegrationTest { @Before public void setup() { - MockitoAnnotations.initMocks(this); + MockitoAnnotations.openMocks(this); mockMvc = MockMvcBuilders.webAppContextSetup(webAppContext).build(); } diff --git a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/HandlerMappingDefaultConfigIntegrationTest.java b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/HandlerMappingDefaultConfigIntegrationTest.java index cb89c01fed..ab203a1417 100644 --- a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/HandlerMappingDefaultConfigIntegrationTest.java +++ b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/HandlerMappingDefaultConfigIntegrationTest.java @@ -30,7 +30,7 @@ public class HandlerMappingDefaultConfigIntegrationTest { @Before public void setup() { - MockitoAnnotations.initMocks(this); + MockitoAnnotations.openMocks(this); mockMvc = MockMvcBuilders.webAppContextSetup(webAppContext).build(); } diff --git a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/HandlerMappingPriorityConfigIntegrationTest.java b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/HandlerMappingPriorityConfigIntegrationTest.java index 55007aec28..93a8f7b912 100644 --- a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/HandlerMappingPriorityConfigIntegrationTest.java +++ b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/HandlerMappingPriorityConfigIntegrationTest.java @@ -29,7 +29,7 @@ public class HandlerMappingPriorityConfigIntegrationTest { @Before public void setup() { - MockitoAnnotations.initMocks(this); + MockitoAnnotations.openMocks(this); mockMvc = MockMvcBuilders.webAppContextSetup(webAppContext).build(); } diff --git a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/SimpleUrlMappingConfigIntegrationTest.java b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/SimpleUrlMappingConfigIntegrationTest.java index ad35307330..eae30c2336 100644 --- a/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/SimpleUrlMappingConfigIntegrationTest.java +++ b/spring-web-modules/spring-mvc-basics/src/test/java/com/baeldung/handlermappings/SimpleUrlMappingConfigIntegrationTest.java @@ -29,7 +29,7 @@ public class SimpleUrlMappingConfigIntegrationTest { @Before public void setup() { - MockitoAnnotations.initMocks(this); + MockitoAnnotations.openMocks(this); mockMvc = MockMvcBuilders.webAppContextSetup(webAppContext).build(); }