- BeanDefinitionBuilder
- GenericBeanDefinition
RumenzA.class
package com.rumenz;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
public class RumenzA {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public RumenzA() {
System.out.println("RumenzA 無參構造方法");
}
}
BeanDefinitionBuilder
//1.通過BeanDefinitionBuilder
BeanDefinitionBuilder bdb=BeanDefinitionBuilder.genericBeanDefinition(RumenzA.class);
//設置屬性
bdb.addPropertyValue("id",1).addPropertyValue("name","入門小站");
//獲取BeanDefinition
BeanDefinition bd=bdb.getBeanDefinition();
//后期的BeanDefinition還是可以修改的
System.out.println(bd);
GenericBeanDefinition
//2.通過GenericBeanDefinition
GenericBeanDefinition gb= new GenericBeanDefinition();
//設置bean
gb.setBeanClass(RumenzA.class);
//設置屬性
MutablePropertyValues mp=new MutablePropertyValues();
mp.add("id",1).add("name","入門小站");
gb.setPropertyValues(mp);
System.out.println(gb);

原文: https://rumenz.com/rumenbiji/spring-beandefinition-build.html
