对象池创建java对象反射机制
来源:互联网 发布:淘宝店合作合同 编辑:程序博客网 时间:2024/05/23 07:23
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
* 对象池,根据配置文件信息来创建java对象。使用反射。
*
*/
package reflect;
import java.io.IOException;
import java.util.Map;
import java.util.HashMap;
import java.io.FileInputStream;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author hou
*/
public class ObjectPoolFactory {
//定义一个对象池。
private Map<String, Object> objectPool = new HashMap<String, Object>();
//创建对象,利用反射
private Object createObject(String clazzName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
Class<?> clazz = Class.forName(clazzName);
return clazz.newInstance();
}
//初始化对象池
public void initPool(String fileName) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
FileInputStream fis = null;
try {
fis = new FileInputStream(fileName);
Properties props = new Properties();
props.load(fis);
for (String name : props.stringPropertyNames()) {
objectPool.put(name, createObject(props.getProperty(name)));
}
}
catch (IOException ex) {
Logger.getLogger(ObjectPoolFactory.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
if (fis != null) {
fis.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
//根据名字找对象
public Object getObject(String name){
return objectPool.get(name);
}
public static void main(String[] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
//a.properties
ObjectPoolFactory ob = new ObjectPoolFactory();
ob.initPool("D:/a.properties");
ob.getObject("a");
System.out.println(ob.getObject("a")+"=========");
}
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
* 对象池,根据配置文件信息来创建java对象。使用反射。
*
*/
package reflect;
import java.io.IOException;
import java.util.Map;
import java.util.HashMap;
import java.io.FileInputStream;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author hou
*/
public class ObjectPoolFactory {
//定义一个对象池。
private Map<String, Object> objectPool = new HashMap<String, Object>();
//创建对象,利用反射
private Object createObject(String clazzName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
Class<?> clazz = Class.forName(clazzName);
return clazz.newInstance();
}
//初始化对象池
public void initPool(String fileName) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
FileInputStream fis = null;
try {
fis = new FileInputStream(fileName);
Properties props = new Properties();
props.load(fis);
for (String name : props.stringPropertyNames()) {
objectPool.put(name, createObject(props.getProperty(name)));
}
}
catch (IOException ex) {
Logger.getLogger(ObjectPoolFactory.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
if (fis != null) {
fis.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
//根据名字找对象
public Object getObject(String name){
return objectPool.get(name);
}
public static void main(String[] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {
//a.properties
ObjectPoolFactory ob = new ObjectPoolFactory();
ob.initPool("D:/a.properties");
ob.getObject("a");
System.out.println(ob.getObject("a")+"=========");
}
}
- 对象池创建java对象反射机制
- Java反射机制创建对象
- java反射机制创建对象
- Java反射机制创建对象
- Java反射机制创建对象
- Java反射机制创建对象
- JAVA反射机制创建对象
- 利用java反射机制动态创建对象
- java类反射机制创建对象
- 使用Java反射机制创建对象
- Java 反射创建对象
- java反射创建对象
- 利用反射机制通过配置文件在对象池创建对象
- 利用反射机制通过配置文件在对象池创建对象
- 反射机制学习1(反射创建对象)
- java.lang.Class类和反射机制创建对象
- java反射机制生成对象
- Java通过反射创建对象
- 维基百科-Android
- 宋词高频词汇和数字代码
- 中科院ICTCLAS中文分词工具C++源码
- 从系统响应的观点看西瓜挑选
- 从文件句柄得到文件路径的函数 (一)
- 对象池创建java对象反射机制
- 从文件句柄获得全路径 (二)
- 关于TOMCAT主目录与虚拟目录的配置介绍
- 三星 Bada 和 Tizen 牵手看来是早晚的事情
- Testing the CATCHER
- python的staticmethod和classmethod
- linux 网络编程
- 容易造成core的原因
- 从HTTP GET和POST的区别说起