Spring的静态工厂和实例工厂创建对象

博客主要介绍了Spring静态工厂与动态工厂的创建与配置,重点阐述了静态工厂创建对象的方式,包括通过静态工厂模式创建对象,以及通过简单构造函数创建单例对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring静态工厂与动态工厂的创建与配置

静态工厂创建对象:

一:通过静态工厂模式创建对象

package cn.jz.beans;
 
public class Bean1 {
    public void add(){
        System.out.println("bean1 ........");
    }
}

  package cn.jz.beans;
 
public class Bean1_factory {
    public static Bean1 getBean(){
        return new Bean1();
    }
}

二:通过实例工厂模式创建对象

   package cn.jz.beans;
 
public class Bean2 {
    public void add(){
        System.out.println("bean2 ........");
    }
}

  package cn.jz.beans;`
 
public class Bean2_factory {
    public Bean2 getBean(){
        return new Bean2();
    }
}

三:通过简单构造函数创建单例对象

  package cn.jz.beans;
 
public class Bean3 {
    public void add(){
        System.out.println("bean3 ........");
    }
}

  package cn.jz.beans;
 
 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class Test {
 
    public static void main(String[] args){
        ApplicationContext context = 
                new ClassPathXmlApplicationContext("beans01.xml");
        Bean1 b1 = (Bean1)context.getBean("bean1");
        Bean2 b2 = (Bean2)context.getBean("bean2");
        Bean3 b3 = (Bean3)context.getBean("bean3");
        b1.add();
        b2.add();
        b3.add();
        System.out.println(b1);
        System.out.println(b2);
        System.out.println(b3);
    }
    
    
    
}

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 
    
    <!-- 使用静态工厂创建对象 -->
    <bean id="bean1" class="cn.jz.beans.Bean1_factory" 
        factory-method="getBean">
    </bean>
    
    <!-- 使用实例工厂创建对象 -->
    <bean id="bean2_fcty" class="cn.jz.beans.Bean2_factory">
    
    </bean>
    <bean id="bean2" factory-bean="bean2_fcty" factory-method="getBean">
    
    </bean>
    
    <!-- 使用无参构造函数创建对象 -->
    <bean id="bean3" class="cn.jz.beans.Bean3">  
    </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值