Ahoj.

Mam spring kontext v javase aplikacii, zlozeny z:

ifc PrinterBase { ... }
@Component class Printer implements PrinterBase {
  private Messager messager;
}

ifc Messager { ... }
@Component class MessagerA implements Messager { ... }
@Component class MessagerB implements Messager { ... }

... a dalsie (unikatne) komponenty, ktore sa mi nechce explicitne
vymenovavat v xml.

Chcel by som docielit toho, ze kontext bude vyskladany pomocou
autowire+scan, ale konkretne u komponenty Printer chcem manualne
specifikovat, ci sa ma pouzit MessagerA alebo MessagerB. Myslim, ze to je
vcelku obvykly poziadavok v modularnej aplikacii, takze by to nejak
mohli ist.

Laboroval som s nasledovnym (nefunkcnym) kontextovym xml, ale spring hlasi,
ze si nevie vybrat medzi MessagerA a MessagerB v autowire:

    <!-- snazim sa mu vnutit MessagerB -->
    <bean id="printer" class="cz.test.Printer"  autowire="no">
        <property name="messager" ref="messagerB"/>
    </bean>


    <!-- ale nez sa mi to podari, autowire vyhodi vynimku -->
    <context:annotation-config/>
    <context:component-scan base-package="cz.test"/>

    <!-- skusal som aj odkomentovat manualnu specifikaciu MessagerB
      <bean id="messagerB" class="cz.test.MessagerB"/>
    ale bez vysledku -->



Je vobec mozne takto konfiguraciu skombinovat?

--
Diky

Dusan

Odpovedet emailem