Sto cercando di capire il pacchetto javax.inject
e non sono chiaro per cosa si debba utilizzare l'annotazione javax.inject.Named
. Javadoc non spiega l'idea alla base.Cos'è l'annotazione javax.inject.Named che si suppone debba essere utilizzata?
Javadoc è a http://download.oracle.com/javaee/6/api/javax/inject/Named.html
Sto usando Primavera 3.0 per scrivere alcuni programmi di esempio, mettendo @Named
su un fagiolo sembra per aggiungerlo alla fabbrica di fagioli, ma la descrizione Javadoc è così leggero che posso' dire se questo è il comportamento standard o il comportamento specifico di Spring.
Le mie domande sono:
- Qual è la differenza tra
@Named
e@Qualifier
- Come si suppone di dire al sistema di runtime una classe dovrebbe essere iniettabile in altre classi che cosa è l'annotazione per questo? L'equivalente di
@Component
in primavera?
Update 1 v'è una eccellente spiegazione di @Named
e @Qualifier
a Nizza articolo circa @Named
e @Qualifier
http://java.dzone.com/articles/java-ee6-cdi-named-components grazie @xmedeko per il collegamento ad essa il commento qui sotto.
La configurazione di JSR-330 è al di fuori della specifica, vale a dire specifica del contenitore. –
In base ai documenti di Spring "L'annotazione @Named di JSR 330 può essere utilizzata come mezzo per rilevare i componenti e per fornire loro un nome. Questo comportamento viene abilitato automaticamente se si dispone del JAR JSR 330 sul classpath." questo comportamento è unico per la primavera o per tutti i contenitori che comprendono @Named? – ams