如何以编程方式创建具有注入属性的bean定义?
问题内容:
我想以编程方式将bean定义添加到应用程序上下文中,但是该定义的某些属性是该上下文中的其他bean(我知道它们的名称)。我该怎么做才能注入那些属性?
例如:
GenericBeanDefinition beanDef = new GenericBeanDefinition();
beanDef.setBeanClass(beanClass);
MutablePropertyValues values = new MutablePropertyValues();
values.addPropertyValue("intProperty", 10);
values.addPropertyValue("stringProperty", "Hello, world");
values.addPropertyValue("beanProperty", /* What should be here? */);
beanDef.setPropertyValues(values);
我正在使用Spring 3.0。
问题答案:
用途RuntimeBeanReference
:
values.addPropertyValue("beanProperty", new RuntimeBeanReference("beanName"));