Chciałbym używać razem FactoryBeans i zakresów. W szczególności chciałbym, aby obiekt utworzony i zwrócony przez FactoryBean został umieszczony w określonym (być może niestandardowym) zakresie. Problem jest, że w następujący sposób:Spring FactoryBean i lunety współpracujące ze sobą
<bean class="x.y.z.TestFactoryBean" scope="test" />
Wyniki w FactoryBean sama jest określania zakresów i ma nieco nieprzewidywalne zachowanie na obiekcie stworzonym przez fabrykę. Rozumiem, dlaczego tak jest; Sama fabryka jest pierwszorzędną sprężyną zarządzaną przez sprężynę i ma swój własny cykl życia. Nie mogę jednak znaleźć sposobu na określenie, czy obiekt zwrócony z fabryki powinien być objęty zasięgiem.
Z drugiej strony, to jest dokładnie to, co chcę (o ile TestFactoryBean nie implementuje interfejsu FactoryBean):
<bean class="x.y.z.TestFactoryBean" name="testFactory">
<bean class="x.y.z.TestBean" factory-bean="testFactory"
factory-method="getObject" scope="test" />
Więc prawdziwe pytanie brzmi, jak mogę uczynić Wiosna zachowywać się jak to robi dla drugiego przykładu powyżej, ale używając prawdziwego FactoryBeans?
można dostosować prawie wszystko na wiosnę, więc myślę, że jest to możliwe, ale prawdopodobnie będzie to wymagało bardzo głębokiego kopania (przy użyciu niestandardowego kontekstu aplikacji) lub czegoś podobnego. ale zgaduję tutaj –
Zgadzam się i zaktualizowałem moją odpowiedź. – Espen