Programmatically registering a bean with BeanDefinitionBuilder:

package com.logicbig.example;
public class MyBean {
private String str;
public void setStr(String str) {
this.str = str;
}
public void doSomething() {
System.out.println("from MyBean " + str);
}
}

package com.logicbig.example;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
public class BeanDefinitionBuilderExample {
public static void main(String[] args) {
DefaultListableBeanFactory beanFactory =
new DefaultListableBeanFactory();
BeanDefinitionBuilder b =
BeanDefinitionBuilder.rootBeanDefinition(MyBean.class)
.addPropertyValue("str", "myStringValue");
beanFactory.registerBeanDefinition("myBean", b.getBeanDefinition());
MyBean bean = beanFactory.getBean(MyBean.class);
bean.doSomething();
}
}
Output
from MyBean myStringValue
Original Post