什么是 BeanDefinition?

2021-01-25

BeanDefinition 是定义 Bean 的配置元信息接口,包含:

  • Bean 的类名
  • 设置父 bean 名称、是否为 primary、
  • Bean 行为配置信息,作用域、自动绑定模式、生命周期回调、延迟加载、初始方法、销毁方法等
  • Bean 之间的依赖设置,dependencies
  • 构造参数、属性设置

...

BeanDefinition 子类方法更为丰富些。

 

派生出 AnnotatedBeanDefinition 接口,以及常用子类 RootBeanDefinition、GenericBeanDefinition。

可以使用 BeanDefinitionBuilder 或 new BeanDefinition 实现类构建 BeanDefinition 对象。

代码:

User.java

package constxiong;

public class User {
	
	private Integer id;
	
	private String name;
	
	public User() {
	}
	
	public User(Integer id, String name) {
		this.id = id;
		this.name = name;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + "]";
	}
	
}

 

构建和注册 BeanDefinition 对象测试类

ConstXiong 备案号:苏ICP备16009629号-3