Printemps Bean Alias dans JavaConfig
J'ai un @Service
annoté de la classe qui fournit des fonctionnalités de base que je peux utiliser dans tous mes projets:
@Service
public class MyService {}
et un autre qui s'étend à la mise en place de projets spécifiques trucs:
@Service
public class ExtendedMyService extends MyService {}
Maintenant, je voudrais configurer un bean alias pour être en mesure d'utiliser @Qualifier("MyServiceAlias")
quand permettra à l'autowiring à l'aide d'une propriété:
# MyService qualifier (default: myService)
myService.qualifier=extendedMyService
En XML, il devrait ressembler à:
<alias name="${myService.qualifier}" alias="MyServiceAlias" />
Il est également question,ici, mais j'ai besoin de le faire, w/o XML, JavaConfig seulement.
Est-il possible et comment le réaliser?
OriginalL'auteur dtrunk | 2014-11-24
Vous devez vous connecter pour publier un commentaire.
Il y a un Jira pour cela: https://jira.spring.io/browse/SPR-6736
La solution de contournement consiste à utiliser
@Bean
dans@Configuration
classe:OriginalL'auteur Evgeni Dimitrov
Si vous souhaitez utiliser l'espace réservé, une autre solution est d'utiliser @Bean dans un @classe de Configuration à l'aide de @Valeur et le Printemps applicationContext.
NB : une attention particulière doit être prise pour l'espace réservé bean qui doit être chargé au début (cf javadoc)
OriginalL'auteur herau
Avec une petite quantité de configuration et un
ImportBeanDefinitionRegistrar
vous pouvez configurer bean alias via Java configuration. Vous pouvez le vérifier bean-alias projet de bibliothèque de référence élaborés pour répondre aux besoins de mes projets. N'hésitez pas à modifier et/ou de la copie de la source dans votre propre projet dans le cas où le printemps version utilisée dans il ne fonctionne pas avec votre installation.Une fois que vous avez votre bibliothèque sur votre chemin, vous déclarer un alias à travers l'annotation:
.
Comment il fonctionne, c'est qu'avec l'annotation nous importer un
ImportBeanDefinitionRegistrar
mise en œuvrequi enregistre l'alias dans le
BeanDefinitionRegistry
OriginalL'auteur jankovd