第一种:通过构造函数实例化bean,需要指定class属性,给bean提供一个无参的构造方法通过构造函数实例化bean,需要指定class属性,
<bean id="loginDaoImpl" class="com.study.dao.impl.loginDaoImpl"></bean>
第二种:通过静态工厂实例化bean,除需要指定class属性外,同时还必须使用factory-method属性指定要调用的工厂方法的名称。注意factory-method的方法是静态的。
<bean id="loginDaoImpl" class="com.study.dao.impl.loginDaoImplFactory" factory-method="getLoginDao"></bean>
这是静态工厂类
public class loginDaoImplFactory{
public static LoginDaoImpl getLoginDao(){return new LoginDaoImpl();}
}
第三种:通过实例工厂实例化bean,必须先实例化要实例化的bean,再通过factory-bean来设置使用哪个实例化工厂,通过factory-method来设置使用哪个方法
<!-- 使用实例工厂实例化bean -->
<bean id="userDaoImplFactory2" class="com.study.dao.impl.UserDaoImplFactory"></bean>
<bean id="loginDaoFactory" factory-bean="loginDaoImplFactory2" factory-method="getLoginDao2"></bean>
public class loginDaoImplFactory2{
public LoginDaoImpl getLoginDao2(){
return new LoginDaoImpl ();
}
}
实例化工厂类