Iniezione assistita dalla GUIDA con annotazioni personalizzate
-
13-12-2019 - |
Domanda
Al momento utilizzo l'iniezione assistita con i parametri denominati come questo:
public interface Factory {
public MyObject create(@Assisted("string1") String string1, @Assisted("string2") String string2);
}
.
funziona alla grande.Ma penso che sia un po 'brutto usare le stringhe come identificatore per i miei parametri.Quello che vorrei fare è quanto segue:
public interface Factory {
public MyObject create(@String1 String string1, @String2 String string2);
}
.
Quindi essenzialmente voglio annotazioni guidate personalizzate.C'è un modo per farlo?
Soluzione
A mia conoscenza, quello stile delle annotazioni personalizzate @Assisted
non esistono come caratteristica;L'unico modo per differenziare i parametri di iniezione assistita dello stesso tipo, come hai detto, per utilizzare le annotazioni denominate @Assisted
.
Cosa proponi potrebbe essere implementabile potrebbe essere implementabile, in modo da poter sempre presentare una richiesta di funzionalità sul sito di Guice [1] se pensi che ci sia utile.
Il mio istinto Gut è che non ci sarebbe anche molto valore aggiunto con questo approccio, però, poiché sarebbero stati troppo facilmente confusi con normali annotazioni leganti, mentre l'implicazione dell'annotazione @Assisted
è molto diverso.Inoltre, prende una buona quantità di caldaia per definire un tipo di annotazione.