“什么是 FactoryBean”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  | 
				Jihongchang(讨论 | 贡献)   | 
				||
| 第8行: | 第8行: | ||
boolean isSingleton():返回是否是单例 Bean 对象  | boolean isSingleton():返回是否是单例 Bean 对象  | ||
| − | Class getObjectType():返回的是 Bean 对象的类型  | + | Class getObjectType():返回的是 Bean 对象的类型<syntaxhighlight lang="java">  | 
| + | @Component("zhangsan")  | ||
| + | public class ZhangsanFactoryBean implements FactoryBean {  | ||
| + | |||
| + | 	@Override  | ||
| + | 	// Bean 对象  | ||
| + | 	public Object getObject() throws Exception {  | ||
| + | 		return new User();  | ||
| + | 	}  | ||
| + | |||
| + | 	@Override  | ||
| + | 	// Bean 对象的类型  | ||
| + | 	public  Class<?> getObjectType() {  | ||
| + | 		return User.class;  | ||
| + | 	}  | ||
| + | |||
| + | 	@Override  | ||
| + | 	// 所定义的 Bean 是单例还是原型  | ||
| + | 	public boolean isSingleton() {  | ||
| + | 		return true;  | ||
| + | 	}  | ||
| + | |||
| + | }  | ||
| + | </syntaxhighlight>  | ||
2024年7月21日 (日) 04:23的版本
FactoryBean 是 Spring 所提供的一种较灵活的创建 Bean 的方式,
可以通过实现 FactoryBean 接口中的 getObject() 方法来返回一个对象,这个对象就是最终的 Bean 对象。
FactoryBean 接口中的方法
Object getObject():返回的是 Bean 对象
boolean isSingleton():返回是否是单例 Bean 对象
Class getObjectType():返回的是 Bean 对象的类型
@Component("zhangsan")
public class ZhangsanFactoryBean implements FactoryBean {
	@Override
	// Bean 对象
	public Object getObject() throws Exception {
		return new User();
	}
	@Override
	// Bean 对象的类型
	public  Class<?> getObjectType() {
		return User.class;
	}
	@Override
	// 所定义的 Bean 是单例还是原型
	public boolean isSingleton() {
		return true;
	}
}