¿Por qué se introdujeron las anotaciones en Spring e Hibernate?

7

Me gustaría saber por qué se introdujeron las anotaciones en Spring e Hibernate. Para las versiones anteriores de los autores de libros de ambos marcos, los autores decían que si manteníamos la configuración en archivos xml, sería más fácil de mantener (debido al desacoplamiento) y solo con cambiar el archivo xml podríamos volver a configurar la aplicación.

Si usamos anotaciones en nuestro proyecto y en el futuro queremos volver a configurar la aplicación, entonces nuevamente debemos compilar y construir el proyecto.

Entonces, ¿por qué se introdujeron estas anotaciones en estos marcos? Desde mi punto de vista, las anotaciones hacen que las aplicaciones dependan de cierto marco. ¿No es cierto?

    
pregunta Chandrashekhar 01.06.2012 - 13:08

1 respuesta

11
  

Para las versiones anteriores de ambos autores de marcos de marcos, los autores decían que si manteníamos la configuración en archivos xml, entonces sería más fácil de mantener (debido al desacoplamiento) y simplemente cambiando el archivo xml podemos volver a configurar la aplicación.

En ese entonces no existían las anotaciones. La gente odiaba los archivos XML, y Java obtuvo una reputación horrible debido a ellos. ¡Caramba, había una herramienta muy utilizada (XDoclet) que generaba archivos de configuración XML a partir de comentarios especiales de JavaDoc, porque mantenerlos manualmente era un dolor!

Cuando se introdujeron las anotaciones en Java 5, todos se dieron cuenta rápidamente de que, para la mayoría de los propósitos, eran mucho más fáciles de mantener que las cosas que configuran los detalles íntimos de una aplicación (como dependencias de servicio o asignaciones de DB) en archivos XML separados. De manera realista, la mayor parte de la "configuración" es realmente un código en lo que se refiere a los cambios, es decir, los cambios se realizarán a medida que la aplicación se desarrolle (no mientras esté implementada) y, por lo general, junto con los cambios en el código.

  

Si usamos anotaciones en nuestro proyecto y en el futuro queremos volver a configurar la aplicación, entonces nuevamente debemos compilar y construir el proyecto.

¿Por qué es eso un problema? ¿Es usted el proceso de construcción tan horrible? Tal vez deberías trabajar en eso entonces. Pero tenga en cuenta que tanto Spring como Hibernate todavía le permiten usar la configuración XML, incluso en combinación con anotaciones. Incluso puede anular las anotaciones existentes de un archivo de configuración XML.

  

Entonces, ¿por qué se introdujeron estas anotaciones en estos marcos? Desde mi punto de vista, las anotaciones hacen que las aplicaciones dependan de cierto marco. ¿No es cierto?

La aplicación depende del marco de todos modos, de lo contrario no la necesitarías. Entonces, ¿por qué pretender lo contrario? Además, muchas de las anotaciones ahora son estándares oficiales de Java (como JPA y CDI) y están respaldadas por múltiples marcos diferentes.

    
respondido por el Michael Borgwardt 01.06.2012 - 13:26

Lea otras preguntas en las etiquetas