Spring:三种实例化bean的方式

来源:互联网 发布:mac地址可以监控手机 编辑:程序博客网 时间:2024/04/28 07:53

使用类构造器

<!-- 使用类构造器实例化,class属性表示要使用的类的全限定名 -->

<beanid="userDao1"

    class="cn.itcast.e_createBeanInstance.UserDaoImpl">

</bean>


使用静态工厂


<!-- 使用静态工厂方法实例化

    class属性表示工厂类的全限定名

    factory-method属性表示这个工厂类中用于创建实例的静态方法名(必须是static的)

-->

<beanid="userDao2"

    class="cn.itcast.e_createBeanInstance.StaticDaoFactory"

    factory-method="createUserDaoInstance">

</bean>

publicclass StaticDaoFactory {

// 方法必须声明为static

    publicstatic Object createUserDaoInstance() {

       System.out.println("StaticDaoFactory.createUserDaoInstance()");

       returnnew UserDaoImpl();

    }

}

使用工厂方法

<!-- 使用实例化工厂对象中的方法实例化

    一、定义工厂bean

    二、定义这个bean是由工厂方法创建的,其中:

       factory-bean属性表示工厂bean的名称(idname

       factory-method属性表示这个工厂类中用于创建实例的方法名(不能是static的)

-->

<beanid="simpleDaoFactory"

class="cn.itcast.e_createBeanInstance.SimpleDaoFactory"></bean>

<beanid="userDao3"

    factory-bean="simpleDaoFactory"

    factory-method="createUserDaoInstance">

</bean>

publicclass SimpleDaoFactory {

    //方法不能声明为static

    publicstatic Object createUserDaoInstance() {

       System.out.println("SimpleDaoFactory.createUserDaoInstance()");

       returnnew UserDaoImpl();

    }

}


0 0
原创粉丝点击