Come posso creare una nuova annotazione basata su un'annotazione Spring @Service
o @Component
?Come posso creare una nuova annotazione?
Voglio solo cambiare il nome per un uso più semantico: ad esempio cambiare il nome in @TransactionelService
.
Come posso creare una nuova annotazione basata su un'annotazione Spring @Service
o @Component
?Come posso creare una nuova annotazione?
Voglio solo cambiare il nome per un uso più semantico: ad esempio cambiare il nome in @TransactionelService
.
È possibile creare la propria annotazione (ad esempio @MyComponent
) annotata con l'annotazione della molla corrispondente. Ad esempio:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface MyComponent {
}
meta-annotazioni:
annotazioni che possono essere usate per annotare altre annotazioni.
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Service
@Transactional(timeout = 60)
public @interface MyTranscationalService{
}
--Questo riconosce il codice precedente e scansiona il codice di seguito anche
e possiamo usare MyTranscationalService come annotazioni per altre classi
@MyTranscationalService
public class TransferImpl implements TransferService{
}
+1 userebbe '@ Service' invece di '@ Componente' come user lo userà per il livello di servizio. '@ Servizio' utilizza internamente' @ Componente'. –
Quindi, anziché l'annotazione '@ Componente', è possibile utilizzare l'annotazione' @ Servizio' per creare nuove annotazioni come '@ Servizio'. –