Migration d'une application Spring-boot de 1.X vers 2.0

plus de 4 an(s)

Description

Migrer une application spring-boot  de 1.x à 2 est très simple.  

 

1- Modifier votre fichier pom.xml  et ajouter la dependance vers spring boot 2

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.5.RELEASE</version>
</parent>
	

2- Modifier la classe principale  comme suit  

public class SpringBootWebApplication extends SpringBootServletInitializer  

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 
        return configureApplication(builder); 
     
    public static void main(String[] args)  
        configureApplication(new SpringApplicationBuilder()).run(args); 
     
    private static SpringApplicationBuilder configureApplication(SpringApplicationBuilder builder) 
     
      // désacactiver le banner 
      return builder.sources(SpringBootWebApplication.class).bannerMode(Banner.Mode.OFF); 
     
} 

 

3- Configurer  la classe WebMvcConfigurer 

Java 8 et les interfaces fonctionnelles permettant de faire les implementations par défaut sont directement sur l'interface WebMvcConfigurer, faut juste étendre cet interface et personnaliser comme souhaité.  

@Configuration 
public class MvcConfig implements WebMvcConfigurer  
   @Bean 
    public ServletWebServerFactory servletContainer() { 
        final TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { 
            @Override 
            protected void postProcessContext(Context context) { 
                ((StandardJarScanner) context.getJarScanner()).setScanManifest(false); 
                  final SecurityConstraint securityConstraint = new SecurityConstraint(); 
                securityConstraint.setUserConstraint("CONFIDENTIAL"); 
                final SecurityCollection collection = new SecurityCollection(); 
                collection.addPattern("/*"); 
                securityConstraint.addCollection(collection); 
                //context.addConstraint(securityConstraint); 
             
      }; 
       if (tomcatAjpEnabled)  
            final Connector ajpConnector = new Connector("AJP/1.3"); 
            // ajpConnector.setProtocol("AJP/1.3"); 
            ajpConnector.setPort(ajpPort); 
            ajpConnector.setSecure(false); 
            ajpConnector.setAllowTrace(false); 
            ajpConnector.setScheme("http"); 
            tomcat.addAdditionalTomcatConnectors(ajpConnector); 
        
       tomcat.addAdditionalTomcatConnectors(redirectConnector()); 
     return tomcat; 
 } 
 private Connector redirectConnector()  
        final Connector connector = new Connector( 
        TomcatServletWebServerFactory.DEFAULT_PROTOCOL); 
        connector.setScheme("http"); 
        connector.setPort(8080); 
        connector.setSecure(false); 
        connector.setRedirectPort(8443); 
        return connector; 
     
}

 

4- Modifier les configurations dans le fichier application.properties  

  • server.servlet.contextPath=/ 

  • server.servlet.jsp.init-parameters.development=true # activer en mode developpement