==================== FactoryBean接口_实现 ==================== 为了指导Spring工厂创建复杂对象,需要实现FactoryBean接口中的三个方法。 public class ConnectionFactoryBean implements FactoryBean<复杂对象的类型> { // 获取复杂对象 @Override public 复杂对象的类型 getObject() throws Exception { // 创建并返回复杂对象 } // 获取复杂对象的类型 @Override public Class getObjectType() { // 返回复杂对象的Class对象 } // 复杂对象是否单例 @Override public boolean isSingleton() { // 若复杂对象只创建一次,即单例,则返回true // 若每次得到的都是一个全新的复杂对象,即多例,则返回false } } Spring说 - 规则性的操作,一个new就能创建出对象来,这叫简单对象,我来做 - 没规律的操作,每个跟每个都不一样,这叫复杂对象,你来搞 - 怎么搞?给你个接口,把它实现了,怎么实现?你肯定知道 /src/main/java/cn/tedu/injection/ConnectionFactoryBean.java: public class ConnectionFactoryBean implements FactoryBean { @Override public Connection getObject() throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/springdb", "root", "123456"); return conn; } @Override public Class getObjectType() { return Connection.class; } @Override public boolean isSingleton() { return false; } } 例程:Injection