黑马程序员技术交流社区

标题: Bean实例化三种方式 [打印本页]

作者: 凉城_    时间: 2019-10-10 13:45
标题: Bean实例化三种方式
本帖最后由 凉城_ 于 2019-10-10 13:48 编辑

1) 使用无参构造方法实例化

      它会根据默认无参构造方法来创建类对象,如果bean中没有默认无参构造函数,将会创建失败

    <bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"/>

2) 工厂静态方法实例化

      工厂的静态方法返回Bean实例

    public class StaticFactoryBean {
        public static UserDao createUserDao(){   
        return new UserDaoImpl();
        }
    }
    <bean id="userDao" class="com.itheima.factory.StaticFactoryBean"
       factory-method="createUserDao" />

3) 工厂实例方法实例化

      工厂的非静态方法返回Bean实例

    public class DynamicFactoryBean {  
        public UserDao createUserDao(){        
                return new UserDaoImpl();
        }
    }
    <bean id="factoryBean" class="com.itheima.factory.DynamicFactoryBean"/>
    <bean id="userDao" factory-bean="factoryBean" factory-method="createUserDao"/>




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2