2011-01-27 17 views
6

Qualcuno potrebbe fornire uno snippet di codice di esempio che ricollega due interfacce java utilizzando l'introduzione di spring-aop (mixin)?Creazione di mixin con Spring AOP Introduzioni

Sto cercando la configurazione di stile di annotazione AspectJ. Inoltre, il caso d'uso specifico che ho è quello di ricucire alcuni java bean ciascuno implementando le proprie interfacce. Quindi, piuttosto che avere un delegato in codice, se potessi semplicemente scappare usando Spring XML, sarebbe fantastico.

risposta

5

È possibile utilizzare @DeclareParents o <aop:declare-parents> per ottenere il comportamento di mixaggio. Ad esempio,

@DeclareParents(value="service.*", defaultImpl=AuditRecorderDefaultImpl.class) 
private AuditRecorder mixin; 

saranno mixin tutte le classi nel pacchetto service con l'interfaccia AuditRecorder inoltrare automaticamente ogni metodo AuditRecorderDefaultImpl.

Potete vedere esempi di funzionamento di questo da AspectJ in Action downloadable sources. È anche possibile vedere la spiegazione dettagliata in Spring documentation.

1

Una demo basata su Spring in Action libro 4a edizione è here, la configurazione è in stile JavaConfig con @ComponentScan

+0

non riuscivo a capire come i metodi introdotti sono chiamati. Il libro di Spring in Action 4 non è chiaro a riguardo. Questo esempio ha aiutato, grazie. – Razorfever

Problemi correlati