我通過實例化XML配置和實例工廠方法的一些豆類:的FactoryBean方法與參數
<bean id="galleryBeanFactory" class="de.tikron.webapp.gallery.bean.XmlGalleryBeanFactory" />
<bean id="pictureBean" factory-bean="galleryBeanFactory" factory-method="createPictureBean" scope="prototype" />
我實例化我的原型豆類方案由BeanFactory.getBean(「豆」,參數......):
BeanFactory bf = ContextLoader.getCurrentWebApplicationContext();
PictureBean pictureBean = (PictureBean) bf.getBean("pictureBean", picture);
隨着春季3我想改變註釋的基於Java的bean配置。這裏是我的FactoryBean:
@Configuration
public class AnnotatedGalleryBeanFactory implements GalleryBeanFactory
@Bean
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
protected PictureBean createPictureBean(Picture picture) {
PictureBean bean = new PictureBean();
bean.setPicture(picture);
return bean;
}
}
我的問題:我該如何傳遞參數?上面的代碼會導致org.springframework.beans.factory.NoSuchBeanDefinitionException:找不到符合條件的[... model.Picture]的bean。
'PictureBean'和'Picture'之間的關係是什麼?什麼類是'FactoryBean'? –
圖片是一個持久化實體,PictureBean(可能名字有點混亂)應該是提供附加方法的圖片的包裝。 – marsman
我可能混淆了FactoryBean和工廠方法。對於練習,我已經實現了FactoryBean。但是同樣的問題再次出現:我如何通過編程方式將參數傳遞給FactoryBean? getBean(bean,args)在哪裏通過? –
marsman