📄 mybeanfactory.java
字号:
package demo;
import java.util.*;
import java.io.*;
import java.lang.reflect.*;
public class MyBeanFactory{
private static MyBeanFactory instance = null;
private MyBeanFactory(){}
public static MyBeanFactory getInstance(){
if(instance == null){
instance = new MyBeanFactory();
}
return instance;
}
//根据用户传入的ID创建对应的实例并返回
public Object getBean(String id){
try{
//读取配置文件
InputStream is = getClass().getResourceAsStream("/beans.properties");
Properties pro = new Properties();
//把属性文件内容载入到Properties,由Properties对其
//进行解析,我们就可以直接从Properties类里边根据id
//对到对应的值了,如pro.getProperty(id)得到类名
pro.load(is);
String className = pro.getProperty(id);
Class cls = Class.forName(className);
return cls.newInstance();
}catch(Exception e){
e.printStackTrace();
return null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -