BeanDefinitionBuilder provides a simpler way to register beans programmatically using the builder pattern.
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(); } }
from MyBean myStringValue
Dependencies and Technologies Used:
Version compatibilities of spring-context with this example:
Versions in green have been tested.