动态创建Spring Bean

阅读更多

Spring 2.0 增加了 BeanDefinitionBuilder ,通过 BeanDefinitionBuilder 可以动态的创建一个Applicatoin Context 而不需要使用XML。

 

GenericApplicationContext ctx = new GenericApplicationContext();

BeanDefinitionBuilder builderA = BeanDefinitionBuilder
   .rootBeanDefinition(BeanA.class)
    .addPropertyValue("name", "Joe");
ctx.registerBeanDefinition("bean-a", builderA.getBeanDefinition());
 
BeanDefinitionBuilder builderB = BeanDefinitionBuilder.rootBeanDefinition(BeanB.class)
   .addPropertyReference("refA", "bean-a");
ctx.registerBeanDefinition("bean-b", builderB.getBeanDefinition());
 
ctx.getBean("bean-b"); 

 

上面的例子动态创建了两个 bean 定义,第二个Bean 引用了第一个Bean。

你可能感兴趣的:(Bean,Spring,XML)