开发步骤
实现 FactoryBean
接口:实现 getObject
,getObjectType
,isSingleton
方法;
getObject()
:用于书写创建复杂对象时的代码。getObjectType()
:返回创建的复杂对象的类型。isSingleton
:用于决定是否单例。
public class ConnectionFactoryBean implements FactoryBean<Connection> {
// 用于书写创建复杂对象时的代码
@Override
public Connection getObject() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/spring", "root", "1234");
return conn;
}
// 返回创建的复杂对象的类型
@Override
public Class<Connection> getObjectType() {
return Connection.class;
}
// 是否单例
@Override
public boolean isSingleton() {
return false; // 每一次都创建新的复杂对象
// return true; // 只创建一次这种类型的复杂对象
}
}