diff --git a/spring-all/pom.xml b/spring-all/pom.xml
index c509622fca..808d9ef585 100644
--- a/spring-all/pom.xml
+++ b/spring-all/pom.xml
@@ -8,10 +8,10 @@
war
- parent-boot-1
+ parent-boot-2
com.baeldung
0.0.1-SNAPSHOT
- ../parent-boot-1
+ ../parent-boot-2
@@ -39,7 +39,6 @@
org.springframework.retry
spring-retry
- ${springretry.version}
org.springframework.shell
@@ -55,11 +54,11 @@
org.hibernate
hibernate-core
- ${hibernate.version}
org.javassist
javassist
+ ${javassist.version}
mysql
@@ -74,6 +73,7 @@
org.hibernate
hibernate-validator
+ ${hibernate.version}
@@ -112,7 +112,6 @@
org.assertj
assertj-core
- ${assertj.version}
test
@@ -139,17 +138,14 @@
org.ehcache
ehcache
- ${ehcache.version}
org.apache.logging.log4j
log4j-api
- ${log4j.version}
org.apache.logging.log4j
log4j-core
- ${log4j.version}
@@ -187,6 +183,7 @@
org.apache.maven.plugins
maven-war-plugin
+ 3.2.2
false
@@ -197,22 +194,23 @@
org.baeldung.sample.App
- 4.3.4.RELEASE
- 4.2.0.RELEASE
- 1.1.5.RELEASE
+ 5.0.6.RELEASE
+ 5.0.6.RELEASE
+ 1.2.2.RELEASE
1.2.0.RELEASE
5.2.5.Final
- 19.0
- 3.1.3
- 3.4
+ 25.1-jre
+ 3.5.2
+ 3.6
3.6.1
- 6.4.0
+ 6.6.0
2.8.2
+ 3.22.0-GA
diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java b/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java
index 4df1e2e73b..318dc5ea65 100644
--- a/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java
+++ b/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java
@@ -4,9 +4,11 @@ import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;
-public class AnnotationsBasedApplicationAndServletInitializer extends AbstractDispatcherServletInitializer {
+public class AnnotationsBasedApplicationAndServletInitializer //extends AbstractDispatcherServletInitializer
+{
- @Override
+ //uncomment to run the multiple contexts example
+ //@Override
protected WebApplicationContext createRootApplicationContext() {
//If this is not the only class declaring a root context, we return null because it would clash
//with other classes, as there can only be a single root context.
@@ -17,19 +19,19 @@ public class AnnotationsBasedApplicationAndServletInitializer extends AbstractDi
return null;
}
- @Override
+ //@Override
protected WebApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext normalWebAppContext = new AnnotationConfigWebApplicationContext();
normalWebAppContext.register(NormalWebAppConfig.class);
return normalWebAppContext;
}
- @Override
+ //@Override
protected String[] getServletMappings() {
return new String[] { "/api/*" };
}
- @Override
+ //@Override
protected String getServletName() {
return "normal-dispatcher";
}
diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java b/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java
index 0d2674d4f3..b685d2fa83 100644
--- a/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java
+++ b/spring-all/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java
@@ -4,9 +4,10 @@ import org.springframework.web.context.AbstractContextLoaderInitializer;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
-public class AnnotationsBasedApplicationInitializer extends AbstractContextLoaderInitializer {
-
- @Override
+public class AnnotationsBasedApplicationInitializer //extends AbstractContextLoaderInitializer
+{
+ //uncomment to run the multiple contexts example
+ // @Override
protected WebApplicationContext createRootApplicationContext() {
AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
rootContext.register(RootApplicationConfig.class);
diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java b/spring-all/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java
index 09e0742394..15a2631cbb 100644
--- a/spring-all/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java
+++ b/spring-all/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java
@@ -12,9 +12,10 @@ import org.springframework.web.context.support.AnnotationConfigWebApplicationCon
import org.springframework.web.context.support.XmlWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
-public class ApplicationInitializer implements WebApplicationInitializer {
-
- @Override
+public class ApplicationInitializer //implements WebApplicationInitializer
+{
+ //uncomment to run the multiple contexts example
+ //@Override
public void onStartup(ServletContext servletContext) throws ServletException {
//Here, we can define a root context and register servlets, among other things.
//However, since we've later defined other classes to do the same and they would clash,
diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java b/spring-all/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java
index c250cedc49..3da3d3beb1 100644
--- a/spring-all/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java
+++ b/spring-all/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java
@@ -5,14 +5,14 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "com.baeldung.contexts.normal" })
-public class NormalWebAppConfig extends WebMvcConfigurerAdapter {
+public class NormalWebAppConfig implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver() {
diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java b/spring-all/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java
index 89ce0153f5..d74d4a6c63 100644
--- a/spring-all/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java
+++ b/spring-all/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java
@@ -4,27 +4,29 @@ import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;
-public class SecureAnnotationsBasedApplicationAndServletInitializer extends AbstractDispatcherServletInitializer {
-
- @Override
+public class SecureAnnotationsBasedApplicationAndServletInitializer// extends AbstractDispatcherServletInitializer
+{
+
+ //uncomment to run the multiple contexts example
+ //@Override
protected WebApplicationContext createRootApplicationContext() {
return null;
}
- @Override
+ //@Override
protected WebApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext secureWebAppContext = new AnnotationConfigWebApplicationContext();
secureWebAppContext.register(SecureWebAppConfig.class);
return secureWebAppContext;
}
- @Override
+ //@Override
protected String[] getServletMappings() {
return new String[] { "/s/api/*" };
}
- @Override
+ //@Override
protected String getServletName() {
return "secure-dispatcher";
}
diff --git a/spring-all/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java b/spring-all/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java
index f499a4ceba..acc1e3092b 100644
--- a/spring-all/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java
+++ b/spring-all/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java
@@ -5,14 +5,14 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "com.baeldung.contexts.secure" })
-public class SecureWebAppConfig extends WebMvcConfigurerAdapter {
+public class SecureWebAppConfig implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver() {
diff --git a/spring-all/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java b/spring-all/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java
index fbe3dfb398..8b58c51eb3 100644
--- a/spring-all/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java
+++ b/spring-all/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java
@@ -3,14 +3,12 @@ package com.baeldung.contexts.normal;
import java.util.Arrays;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.servlet.ModelAndView;
-import com.baeldung.contexts.services.ApplicationContextUtilService;
import com.baeldung.contexts.services.GreeterService;
@Controller
diff --git a/spring-all/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java b/spring-all/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java
index 3dc4db53c0..85305e057f 100644
--- a/spring-all/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java
+++ b/spring-all/src/main/java/org/baeldung/controller/config/StudentControllerConfig.java
@@ -4,29 +4,27 @@ import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
+import org.springframework.context.support.GenericApplicationContext;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.ContextLoaderListener;
+import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.context.support.GenericWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
-public class StudentControllerConfig implements WebApplicationInitializer {
+public class StudentControllerConfig //implements WebApplicationInitializer
+{
- @Override
+ //uncomment to run the student controller example
+ //@Override
public void onStartup(ServletContext sc) throws ServletException {
AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext();
root.register(WebConfig.class);
-
root.setServletContext(sc);
+ sc.addListener(new ContextLoaderListener(root));
- //Manages the lifecycle of the root application context.
- //Conflicts with other root contexts in the application, so we've manually set the parent below.
- //sc.addListener(new ContextLoaderListener(root));
-
- GenericWebApplicationContext webApplicationContext = new GenericWebApplicationContext();
- webApplicationContext.setParent(root);
- DispatcherServlet dv = new DispatcherServlet(webApplicationContext);
-
+ DispatcherServlet dv = new DispatcherServlet(root);
+
ServletRegistration.Dynamic appServlet = sc.addServlet("test-mvc", dv);
appServlet.setLoadOnStartup(1);
appServlet.addMapping("/test/*");
diff --git a/spring-all/src/main/java/org/baeldung/controller/config/WebConfig.java b/spring-all/src/main/java/org/baeldung/controller/config/WebConfig.java
index 251a1affa1..a17210f3b8 100644
--- a/spring-all/src/main/java/org/baeldung/controller/config/WebConfig.java
+++ b/spring-all/src/main/java/org/baeldung/controller/config/WebConfig.java
@@ -6,13 +6,13 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "org.baeldung.controller.controller", "org.baeldung.controller.config" })
-public class WebConfig extends WebMvcConfigurerAdapter {
+public class WebConfig implements WebMvcConfigurer {
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
diff --git a/spring-all/src/main/java/org/baeldung/spring/config/CoreConfig.java b/spring-all/src/main/java/org/baeldung/spring/config/CoreConfig.java
index 21b67933ef..0d753dc447 100644
--- a/spring-all/src/main/java/org/baeldung/spring/config/CoreConfig.java
+++ b/spring-all/src/main/java/org/baeldung/spring/config/CoreConfig.java
@@ -8,11 +8,11 @@ import java.util.concurrent.TimeUnit;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
@ComponentScan("org.baeldung.core")
-public class CoreConfig extends WebMvcConfigurerAdapter {
+public class CoreConfig implements WebMvcConfigurer {
public CoreConfig() {
super();
diff --git a/spring-all/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java b/spring-all/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java
index a857783c60..9f4b73f609 100644
--- a/spring-all/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java
+++ b/spring-all/src/main/java/org/baeldung/spring/config/MainWebAppInitializer.java
@@ -6,13 +6,16 @@ import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
+import org.springframework.context.support.GenericApplicationContext;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.ContextLoaderListener;
+import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.context.support.GenericWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
-public class MainWebAppInitializer implements WebApplicationInitializer {
+public class MainWebAppInitializer implements WebApplicationInitializer
+{
/**
* Register and configure all Servlet container components necessary to power the web application.
@@ -26,14 +29,11 @@ public class MainWebAppInitializer implements WebApplicationInitializer {
root.scan("org.baeldung.spring.config");
// root.getEnvironment().setDefaultProfiles("embedded");
- //Manages the lifecycle of the root application context.
- //Conflicts with other root contexts in the application, so we've manually set the parent below.
- //sc.addListener(new ContextLoaderListener(root));
+ sc.addListener(new ContextLoaderListener(root));
- // Handles requests into the application
- GenericWebApplicationContext webApplicationContext = new GenericWebApplicationContext();
- webApplicationContext.setParent(root);
- final ServletRegistration.Dynamic appServlet = sc.addServlet("mvc", new DispatcherServlet(webApplicationContext));
+ DispatcherServlet dv = new DispatcherServlet(root);
+
+ final ServletRegistration.Dynamic appServlet = sc.addServlet("mvc",dv);
appServlet.setLoadOnStartup(1);
final Set mappingConflicts = appServlet.addMapping("/");
if (!mappingConflicts.isEmpty()) {
diff --git a/spring-all/src/main/java/org/baeldung/spring/config/MvcConfig.java b/spring-all/src/main/java/org/baeldung/spring/config/MvcConfig.java
index f87e400fce..e550733c47 100644
--- a/spring-all/src/main/java/org/baeldung/spring/config/MvcConfig.java
+++ b/spring-all/src/main/java/org/baeldung/spring/config/MvcConfig.java
@@ -5,13 +5,13 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;
@EnableWebMvc
@Configuration
-public class MvcConfig extends WebMvcConfigurerAdapter {
+public class MvcConfig implements WebMvcConfigurer {
public MvcConfig() {
super();
@@ -21,8 +21,6 @@ public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(final ViewControllerRegistry registry) {
- super.addViewControllers(registry);
-
registry.addViewController("/sample.html");
}
diff --git a/spring-all/src/main/java/org/baeldung/spring/config/PersistenceConfig.java b/spring-all/src/main/java/org/baeldung/spring/config/PersistenceConfig.java
index d57151e259..ffe88596fa 100644
--- a/spring-all/src/main/java/org/baeldung/spring/config/PersistenceConfig.java
+++ b/spring-all/src/main/java/org/baeldung/spring/config/PersistenceConfig.java
@@ -11,8 +11,8 @@ import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
-import org.springframework.orm.hibernate4.HibernateTransactionManager;
-import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
+import org.springframework.orm.hibernate5.HibernateTransactionManager;
+import org.springframework.orm.hibernate5.LocalSessionFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import com.google.common.base.Preconditions;
diff --git a/spring-all/src/main/java/org/baeldung/spring/config/ScopesConfig.java b/spring-all/src/main/java/org/baeldung/spring/config/ScopesConfig.java
index a9bc298db3..fb34725508 100644
--- a/spring-all/src/main/java/org/baeldung/spring/config/ScopesConfig.java
+++ b/spring-all/src/main/java/org/baeldung/spring/config/ScopesConfig.java
@@ -38,7 +38,7 @@ public class ScopesConfig {
}
@Bean
- @Scope(value = WebApplicationContext.SCOPE_GLOBAL_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)
+ @Scope(value = WebApplicationContext.SCOPE_APPLICATION, proxyMode = ScopedProxyMode.TARGET_CLASS)
public HelloMessageGenerator globalSessionMessage() {
return new HelloMessageGenerator();
}
diff --git a/spring-all/src/main/webapp/WEB-INF/web.xml b/spring-all/src/main/webapp/WEB-INF/web-old.xml
similarity index 100%
rename from spring-all/src/main/webapp/WEB-INF/web.xml
rename to spring-all/src/main/webapp/WEB-INF/web-old.xml
diff --git a/spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java b/spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java
index 97ae651473..347dd399e2 100644
--- a/spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java
+++ b/spring-all/src/test/java/org/baeldung/spring43/attributeannotations/AttributeAnnotationConfiguration.java
@@ -6,13 +6,13 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
@ComponentScan
@EnableWebMvc
-public class AttributeAnnotationConfiguration extends WebMvcConfigurerAdapter {
+public class AttributeAnnotationConfiguration implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver() {