Saltar al contenido

Spring 3.2 @ControllerAdvice no funciona

Si te encuentras con alguna parte que no entiendes puedes dejarnos un comentario y trataremos de ayudarte rápidamente.

Solución:

Si usa el escaneo de classpath, probablemente tenga que agregar un nuevo filtro de inclusión a su elemento:


El escaneo predeterminado no busca esta anotación, siguiendo spring-context-3.2.xsd para component-scan:

“Escanea el classpath en busca de componentes anotados que se registrarán automáticamente como Spring beans. De forma predeterminada, se detectarán los estereotipos @Component, @Repository, @Service y @Controller proporcionados por Spring”.

Para este problema, lo primero es confirmar su configuración,

  1. Debe asegurarse de que la clase @ControllerAdvice esté en su paquete base de escaneo de componentes.
  2. Asegúrate de usar en su spring-servlet.xml. o tenga @EnableWebMvc en su clase @ControllerAdvice

Cuando tenga la configuración correcta, ControllerAdvice ya debería funcionar, ahora dijo que obtuvo su vista del controlador de excepciones no detectada. Supongo que obtuviste eso en tu InegrationTest, y usaste mockMvc para probar eso, si es así, necesitas poner @WebAppConfiguration y compilar mokcMvc de la siguiente manera:

 @Autowired
private WebApplicationContext wac;

mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();

El uso de standaloneSetup (controlador) no funcionará debido a la falta de WebApplicationContext.

No se requiere configuración adicional. Debería funcionar. Mira este enlace para más detalles. Esto proporciona un ejemplo muy simple:

http://www.javabeat.net/2013/10/exception-controlleradvice-spring-3-2/

Tienes la opción de apoyar nuestro ensayo fijando un comentario y dejando una puntuación te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *