Lo nuevo en Spring 3.1 - parte 1



Se nos viene Spring 3.1 y voy a citar los cambios que se vienen:

1.- La infraestructura MVC basada en namespaces ahora pasa a MVC Java Config

Ejemplo 1:

// Equivalent to


@EnableWebMvc

@Configuration

public class WebConfig {

// Aqui es donde hariamos nuestra configuracion

}

Ejemplo 2: Veamos un ejemplo de Web Config mas completo.

http://pastie.org/2958174

En este ejemplo se ha hecho una configuracion mas avanzada.

Se elimina:



2.- Si quiero declarar otros beans o importar algun archivo xml de beans (seguridad por ejemplo)


Java Config al maximo:

@ComponentScan(basePackages = "org.springframework.samples.mvc31")

3.- Luego la infraestructura MVC

Si bien @MVC fue introducido con Spring 2.5, soporte para REST en la version 3.0. Hay mas que eso, la infraestructura, compuesta por:

  • DefaultAnnotaionHandlerMapping
  • AnnotationMethodHandlerAdapter
  • AnnotationMethodHandlerExceptionResolver
Lo bueno fue que reemplazo toda esa jerarquia de clases que habia en las versiones pasadas.

La nueva infraestructura ahora es:

  • RequestMappingHandlerMapping
  • RequestMappingHandlerAdapter
  • ExceptionHandlerExceptionResolver
Lo cual fue nombrado despues como:

  • @RequestMapping HandlerMapping
  • @RequestMapping HandlerAdapter
  • @ExceptionHandler ExceptionResolver
Veamos este diagrama para ver como funciona todo:



Ahora tenemos nuevas abstracciones:

  • HandlerMethod
  • HandlerMethodArgumentResolver
  • HandlerMethodReturnValueHandler
Que es posible ahora?

  • Custom request conditions
  • Build request mappings from any source
  • Inspect controller method in interceptors
  • Customize any argument or return value
  • Design own method signature
De esto veremos en el siguiente post.


Joe

Comentarios

Entradas populares