En algún lugar que leí, Spring ofrece comodidad sobre la configuración. Pero la gente de Spring está introduciendo tantos cambios en la configuración, que ahora estoy realmente confundido al usar la configuración xml o la anotación.
Me gustaría que alguien sugiera una metodología segura o una regla general al usar xml y anotaciones.
Ejemplos en SO para mostrar que muchos principiantes como yo se confunden con la configuración.
-
No parece captar la funcionalidad detrás
<context:annotation-config>
y<context:component-scan>
.Por lo que he leído, parecen manejar diferentes anotaciones (@Required, @Autowired, etc. vs @Component, @Repository, @Service, etc.) pero también por lo que he leído registran las mismas clases de postprocesador de beans.
Para confundirme aún más, hay un
annotation-config
atributo en<context:component-scan>
... -
Todavía tengo la etiqueta de escaneo de componentes:
<context:component-scan base-package="com.mycompany.maventestwebapp" />
pero también tengo otra etiqueta (que parece tener una tarea similar), esta:
<annotation-driven />
¿Cuál es la diferencia entre estas dos etiquetas? Otra cosa "extraña" es que el ejemplo anterior (que no usa la etiqueta basada en anotaciones) es muy similar al proyecto creado por STS utilizando el proyecto Spring MVC Template, pero si elimino la etiqueta basada en anotaciones de su configuración archivo el proyecto no se ejecuta y me da el siguiente error: HTTP Estado 404 - ...
Spring 3.2 ya no necesita cglib para proxy, pero las versiones inferiores usan cglib. Una cita del blog de springsource
Para generar tales proxies, Spring usa una biblioteca de terceros llamada cglib. Lamentablemente, este proyecto ya no está activo. En Spring 3.2, es muy probable que Spring use Javassist en su lugar por defecto.
¿Son suficientes para sugerir que Spring is Confusion sobre la configuración?