模仿Spring框架使用工廠模式來獲取物件
阿新 • • 發佈:2021-01-13
我們可以模仿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();
}