Я хочу, чтобы иметь возможность autowire одноэлементный боб (foo
)аннотацию методы, основанные на фабричные
@Component
public class FooUser {
@Autowire Foo foo;
}
созданный методом другого Синглтон (FooFactory.createFoo
)
@Service
public class FooFactory {
public Foo createFoo() {...}
}
с XML это просто factory-method
. Как я могу это сделать с аннотацией?
Не думаю, что вы можете. Я думаю, что Spring может использовать только автообучения, которыми управляет. Но если у вас есть фабричный класс/метод, почему бы просто не назвать это, чтобы получить свой bean-компонент? – Marvo
Возможно, этот вопрос уместен? http://stackoverflow.com/questions/9598829/spring-3-component-and-static-factory-method?rq=1 – Marvo
@Marvo: я могу сделать этот компонент управляемым весной. Я не знаю, как это сделать. Я могу создать еще один синглтон (MiddleManService) и использовать его для вызова фабрики, а затем повсеместно использовать '@Autowire MiddleManService middleMan', а затем' middleMan.getFoo() '. но почему? Я хочу, чтобы он сиплер. Я хочу просто '@Autwired Foo foo'. это просто с xml. как насчет аннотаций? – piotrek