美文网首页
Spring实例化Bean的三种方式

Spring实例化Bean的三种方式

作者: 落雪无尘V | 来源:发表于2020-09-25 16:31 被阅读0次

    第一种方式:

    使用默认无参构造函数

    <!--在默认情况下:它会根据默认无参构造函数来创建类对象。如果bean中没有默认无参构造函数,将会创建失败。-->
    <bean id="accountService" class="com.lxwc.service.impl.AccountServiceImpl"/>
    

    第二种方式:

    spring管理静态工厂-使用静态工厂的方法创建对象

    /*** 模拟一个静态工厂,创建业务层实现类*/
    public class StaticFactory {
        public static IAccountService createAccountService(){
        return new AccountServiceImpl();
    }}
    
    <!--此种方式是:使用StaticFactory类中的静态方法createAccountService创建对象,
    并存入spring容器id属性:指定bean的id,用于从容器中获取class属性:
    指定静态工厂的全限定类名factory-method属性:指定生产对象的静态方法-->
    <bean id="accountService" class="com.lxwc.factory.StaticFactory" factory-method="createAccountService"></bean>
    

    第三种方式:
    spring管理实例工厂-使用实例工厂的方法创建对象

    /*** 模拟一个实例工厂,创建业务层实现类* 此工厂创建对象,必须现有工厂实例对象,再调用方法 */
    
    public class InstanceFactory {
        public IAccountService createAccountService(){
        return new AccountServiceImpl();
    }}
    
    <!--此种方式是:先把工厂的创建交给spring来管理。
    然后在使用工厂的bean来调用里面的方法factory-bean属性:
    用于指定实例工厂bean的id。factory-method属性:用于指定实例工厂中创建对象的方法。-->
    <bean id="instancFactory" class="com.lxwc.factory.InstanceFactory"></bean>
    <bean id="accountService" factory-bean="instancFactory" factory-method="createAccountService"></bean>
    

    相关文章

      网友评论

          本文标题:Spring实例化Bean的三种方式

          本文链接:https://www.haomeiwen.com/subject/qcmfuktx.html