Creo que se divide en dos usos de anotaciones: las anotaciones para proporcionar una 'descripción' de una clase frente a las anotaciones para proporcionar una 'dependencia' de la clase.
Estoy de acuerdo con el uso de anotaciones en la clase de 'descripción' - eso es algo que pertenece a la clase y la anotación ayuda a hacer una versión abreviada de eso - las anotaciones JPA caen bajo esto.
Sin embargo, realmente no me gustan las anotaciones de "dependencia", si está poniendo la dependencia directamente en la clase, incluso si se determina en tiempo de ejecución a partir de una anotación en lugar de compilar en la clase, no es ¿esa inyección de ruptura de dependencia? (quizás en espíritu en lugar de en regla ...)
Puede ser una preferencia personal, pero I como el único archivo XML grande que contiene toda la información de dependencia de mi aplicación. Lo veo como 'configuración de la aplicación' en lugar de 'configuración de clase'. Prefiero buscar en una ubicación conocida que buscar en todas las clases de la aplicación.
¿cómo está usando las anotaciones? No creo que haya una respuesta aquí, creo que realmente depende de cómo los está usando. – james
Excelente pregunta, ya que eso probablemente importa bastante en este caso. Los desarrolladores de pro-anotaciones han creado un marco para nuestra aplicación web. La aplicación usa Spring. Las anotaciones crean automáticamente formularios web basados en elementos en los objetos Command y evitan utilizar JSP por completo. No lo mencioné originalmente porque tenía curiosidad por la respuesta general; También tengo curiosidad por la respuesta específica. –
Compensando un comentario posterior:
Solíamos tener etiquetas personalizadas que hacen todo el trabajo propenso a errores repetitivos para nosotros en un JSP, por lo que era muy ligero para empezar. Los desarrolladores estaban familiarizados con esto. No es difícil de seguir, ya sea desde 10.000 pies o debajo de las sábanas, por lo que cuando hay un problema, la depuración es muy fácil.
El nuevo sistema es difícil de agregar y/o cambiar. También tenemos un grupo de desarrolladores que tendrán problemas para aprender a usarlo. Cuando hay un problema con la pantalla, la depuración consiste en leer un código que la mayoría de los desarrolladores no conocen. –