2010-11-25 6 views
3

ich eine ProxyFactoryBean Bohne haben:Frühling ProxyFactoryBean Injection Problem

<bean id="sendSingleSmsServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean"> 
    <property name="target"> 
     <ref bean="sendSingleSmsServiceImpl" /> 
    </property> 
    <property name="proxyInterfaces"> 
     <value>com.test.SendSingleSmsService</value> 
    </property> 
    <property name="interceptorNames"> 
     <value>hibernateInterceptor</value> 
    </property> 
</bean> 

und ich versuche, diese Bohne in ein anderes mit @Resource Anmerkung zu injizieren hier ist mein Code dafür:

@Resource 
public ProxyFactoryBean sendSingleSmsServiceProxy; 

aber ich bekomme diese Ausnahme:

org.springframework.beans.factory.BeanCreationException: Fehler beim Erstellen Bean mit dem Namen 'com.t est.webservice.impl.SendSingleSmsImpl ': Injektion von Ressourcenabhängigkeiten fehlgeschlagen; verschachtelte Ausnahme ist org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean namens 'sendSingleSmsServiceProxy' vom Typ sein muss [org.springframework.aop.framework.ProxyFactoryBean], war aber tatsächlich vom Typ [$ Proxy24]

jeden Hilfe wäre willkommen.

Antwort

5

Dies ist ein Missverständnis in was ProxyFactoryBean tut. Wie alle implewntations von FactoryBean, dass die Bohne erzeugt wird, ist nicht der Typ, der FactoryBean, aber die Art der, was auch immer Bohne die Fabrik erzeugt (see Spring docs)

In Ihrem Fall die sendSingleSmsServiceProxy Bohne wird der Typ sein SendSingleSmsService:

@Resource 
public SendSingleSmsService sendSingleSmsService; 

Das ProxyFactoryBean Objekt ist effektiv transparent, was Sie sehen, was es erzeugt.

+0

Vielen Dank, sieht aus wie das war das Hauptproblem. Ich werde mir die Frühjahrsdokumente ansehen. – aykut