Spring中FactoryBean的使用方法

能夠理解爲工廠非靜態方法的特例:
import org.joda.time.DateTime;
import org.springframework.beans.factory.FactoryBean;

public class NextDayDateFactoryBean implements FactoryBean
{

	@Override
	public Object getObject() throws Exception
	{
		// TODO Auto-generated method stub
		return new DateTime().plus(1);
	}

	@Override
	public Class getObjectType()
	{
		// TODO Auto-generated method stub
		return DateTime.class;
	}

	@Override
	public boolean isSingleton()
	{
		// TODO Auto-generated method stub
		return false;
	}

}

<bean id="nextDayDate" class="com.uqee.spring.beans.NextDayDateFactoryBean"></bean>

此時調用getBean("nextDayDate")返回的是NextDayDateFactoryBean實例返回的DateTime對象,而不是 NextDayDateFactoryBean對象, 要獲得該FactoryBean可經過以下方法訪問:
Object o2 = factory.getBean("&nextDayDate");
相關文章
相關標籤/搜索