小编mar*_*man的帖子

带有参数的Spring FactoryBean方法

我正在通过XML配置和实例工厂方法实例化一些bean:

<bean id="galleryBeanFactory" class="de.tikron.webapp.gallery.bean.XmlGalleryBeanFactory" />

<bean id="pictureBean" factory-bean="galleryBeanFactory" factory-method="createPictureBean" scope="prototype" />
Run Code Online (Sandbox Code Playgroud)

我通过BeanFactory.getBean("bean",arguments ...)实例化我的原型bean编程:

BeanFactory bf = ContextLoader.getCurrentWebApplicationContext();
PictureBean pictureBean = (PictureBean) bf.getBean("pictureBean", picture);
Run Code Online (Sandbox Code Playgroud)

在Spring 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;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题:我如何在这里传递参数?上面的代码导致org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖项找到[... model.Picture]类型的限定bean.

java configuration spring annotations

4
推荐指数
1
解决办法
6272
查看次数

标签 统计

annotations ×1

configuration ×1

java ×1

spring ×1