Я просмотрел следующую страницу, чтобы загрузить приложение Context.xml в Java.Весной прототип bean reference в Spring @Configuration
http://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch06.html
Мои ApplicationContext есть что-то вроде:
<beans>
<bean id="foo" class="com.mypackage.Foo" scope="prototype">
</bean>
</beans>
мне нужно сослаться на "Foo" в Java следующим образом:
@Configuration
@AnnotationDrivenConfig
@ImportXml("classpath:applicationContext.xml")
public class Config {
@Autowired Foo foo;
@Bean(name="fooRepository")
@Scope("prototype")
public FooRepository fooRepository() {
return new JdbcFooRepository(foo);
}
}
я создаю ссылку на FooRepository как следует:
ApplicationContext ctx =
new AnnotationConfigApplicationContext(Config.class);
FooRepository fr = ctx.getBean("fooRepository", FooRepository.class);
Каждый раз, когда я вызываю его, я получаю новый экземпляр FooRepository, который определяется как «прототип», и это хорошо со мной.
Но когда экземпляр FooRepository возвращается, я вижу, что тот же самый экземпляр «foo» используется, хотя «foo» в XML-файле является «прототипом».
- Как установить Foo как новый экземпляр все время FooRepository при создании FooRepository?
- Экземпляр Foo должен быть из файла XML.
Почему foo аннотируется «** прототипом **» вместо «прототипа»? http://www.tutorialspoint.com/spring/spring_bean_scopes.htm И можете ли вы предоставить себе Фу? это аннотируется с чем-то вроде Компонента? – Zarathustra
Я хотел использовать для этого полужирный шрифт. На самом деле это просто «прототип». Я редактирую его сейчас ... – serverfaces