模仿Spring框架使用工厂模式来获取对象

我们可以模仿Spring来写一个模仿案例

这是简单写一个工厂模式来获取对象.

步骤:

  • 第一步:创建工程,配置环境
  • 第二步:创建实体类对象
  • 第三步:模仿spring容器的配置文件,创建beans.properties文件:在这里插入图片描述
  • 第四步:书写BeanFactory工厂类:
package com.offcn.factory;

import java.util.ResourceBundle;

public class BeansFactory {

    private static Object object=new Object();
    public static Object getBean(String name){
        try {
        	//1.读取properties文件
            ResourceBundle resourceBundle=ResourceBundle.getBundle("beans");
            //2.获取输入参数对应的全限定名
            String string = resourceBundle.getString(name);
            if (string.equals(object.getClass().getName())){
                return object;
            }
            //3.通过反射创建该类的类对象
            Class<?> aClass = Class.forName(string);
            //4.通过类对象的newInstance方法创建实体对象
            object=aClass.newInstance();
        }catch (Exception e){
            e.printStackTrace();
        }
        //5.返回一个Object对象
        return object;
    }
}
  • 第五步:书写测试类:
    @Test
    public void m2(){
    //1.使用工厂类的getBean方法传入类名称参数,获取对应的类对象
        Car car =(Car) BeansFactory.getBean("car");
        car.fun1();
        Car car1 =(Car) BeansFactory.getBean("car");
        System.out.println(car==car1);
        Person person = (Person) BeansFactory.getBean("person");
        person.fun1();

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值