2012-01-11 11 views
7

¿Alguien sabe lo que la primavera JAR (y dónde encontrarlo!) contiene la funcionalidad de los llamados "meta-anotaciones" de primavera. Como this muestra el artículo, estos "nuevos" (bueno, sorta) construcciones fresco permitirá código como este:primavera Meta-Anotaciones

@Service 
@Scope("request") 
@Transactional(rollbackFor=Exception.class) 
@Retention(RetentionPolicy.RUNTIME) 
public @interface MyService { 
} 

@MyService 
public class RewardsService { 
    … 
} 

Básicamente, tengo una aplicación de oscilación que no utilizan actualmente primavera. Tengo un cambio repentino de requisitos que se haría supremamente más fácil si pudiera usar estas anotaciones.

Así que estoy buscando el más pequeño, mínimamente invasivo Spring JAR donde se puede encontrar esta funcionalidad. Si es absolutamente necesario, puedo usar todo el Spring JAR, pero sería una solución muy pesada. Sería bueno si Spring lanzara un JAR más pequeño con funcionalidad de menor alcance.

estoy browswing Maven Repo y ver spring-core que contiene un paquete llamado:

org.springframework.core.annotation

Pero después de una inspección de los documentos de la API no parece para ser lo que necesito ...

pregunta auxiliar: es incluso posible utilizar estas meta-anotaciones como construcciones independientes, o no I tiene para usarlos junto con, digamos, DI primavera o AOP u otras partes principales del marco Spring.

¡Gracias de antemano!

+0

¿Cómo funcionaría una anotación sin el código que hace algo con las anotaciones? Una anotación es solo eso: una nota, metadatos, que puede ser utilizada por otro código. No hace nada por sí mismo. –

Respuesta

4

Las anotaciones que desee estarán relacionadas con el contenedor. Por ejemplo, la anotación org.springframework.transaction.annotation.Transactional estará en el artefacto spring-transactions.

Las metaanotaciones no son realmente diferentes de las anotaciones normales, aparte del hecho de que Spring ahora detecta Anotaciones en las anotaciones, mientras que antes no lo hacía. Si las anotaciones "funcionan" o no depende de lo que las está buscando (en este caso algo en el contexto de Spring).

Para obtener más información, consulte Annotation-based container configuration en la referencia de Spring framework.

+0

Gracias Dev - puede ser porque es tarde y he estado despierta todo el día, solo estoy teniendo problemas para entender tu respuesta. ¿Estás diciendo que no hay * un lugar * donde estas "meta-anotaciones" están definidas, o estás suponiendo que están enraizadas en algún lugar dentro de 'spring-context'? ¡Gracias de nuevo! – IAmYourFaja

+0

Las anotaciones mismas se definen en cualquier jarro en el que estén definidas. 'Spring-context' contiene el marco que hace que las anotaciones funcionen. Modifiqué mi respuesta para proporcionarle más lecturas sobre el tema. – Dev