1.实例的方法一
<bean id="bookDao" class="com.it.dao.impl.BookDaoImpl">
默认调用无参构造方法创建的实例
2.实例的方法二
使用静态静态工厂创建对象
<bean id="orderDao" class="com.it.factory.OrderDaoFactory" factory-method="getOrderDao" />
//静态工厂创建对象
public class OrderDaoFactory {
public static OrderDao getOrderDao(){
System.out.println("factory setup....");
return new OrderDaoImpl();
}
}
3.实例的方法三
<!-- 使用实例工厂创建对象-->
<bean id="userDaoFactory" class="com.it.factory.UserDaoFactory"/>
<bean id="user" factory-method="getUserDao" factory-bean="userDaoFactory"/>
//实例工厂创建对象
public class UserDaoFactory {
public UserDao getUserDao(){
return new UserDaoImpl();
}
}
4.实例的方法四(重点)
使用FactoryBean实例化Bean
<bean id="userDaoFactoryBean" class="com.it.factory.UserDaoFactoryBean"/>
public class UserDaoFactoryBean implements FactoryBean<UserDao> {
public UserDao getObject() throws Exception {
return new UserDaoImpl();
}
public Class<?> getObjectType() {
return UserDao.class;
}
}