ApplicationContext.getBean(Classe clazz) ne va pas bien avec les procurations

J'ai un haricot définition au Printemps et c'est le proxy de contrepartie, qui est destinée à être utilisée partout:

<bean name="my.Bean" class="org.springframework.aop.framework.ProxyFactoryBean" scope="prototype">
  <property name="proxyInterfaces" value="my.Interface"/>
  <property name="target" ref="my.BeanTarget"/>
  <property name="interceptorNames">
    <list>
      <value>someInterceptor</value>
    </list>
  </property>
</bean>

<bean name="my.BeanTarget" class="my.InterfaceImpl" scope="prototype">
  <property name="foo" ref="bar"/>
</bean>

Tout cela fonctionne bien; et en pré-Printemps v3 monde j'ai été en utilisant comme

ApplicationContext ctx = ...;
my.Interface foo = (my.Interface) ctx.getBean("my.Bean"); //cast is necessary

Au Printemps 3 il est devenu possible de faire de ce type de coffre-fort des recherches, par exemple:

my.Interface foo = ctx.getBean(my.Interface.class);

Encore une fois, cela fonctionne bien pour les haricots, tandis que pour proxy haricots je suis my.BeanTarget au lieu de my.Bean. J'ai essayé de l'inclure my.BeanTarget (comme indiqué dans le Ressort de la documentation) pour le rendre cachés, mais je n'ai eu

org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [my.Interface] is defined: expected single bean but found 0: 

Ainsi est-il possible d'utiliser le type sûr de haricots recherches avec proxy haricots et si oui comment faire?

Avez-vous vraiment besoin d'interagir avec le contexte directement? La plupart de mes applications n'ont besoin que de bootstrap et puis tout le reste est géré avec l'injection de dépendance (qui travaille pour le proxy haricots). Je me suis fait un certain cadre des trucs où je n'ai besoin d'accéder au contexte, mais, dans mon expérience, il était rare.
Notre système est assez large et quelques morceaux, et les classes ne sont pas nés au Printemps (ni peut-être), de sorte qu'ils ont à utiliser beanFactory/appCtx pour obtenir des dépendances nécessaires.

OriginalL'auteur mindas | 2010-08-26