运用反射读配置动态调用方法
来源:互联网 发布:社工库qq群数据库 编辑:程序博客网 时间:2024/06/06 03:46
看了反射,记录一下,非常好用!
定义一个公共接口
public interface IOffice { public void run(String s);}
实现类
public class WordImpl implements IOffice { public void run(String s){System.out.println("Word"+s);}}
public class ExcelImpl implements IOffice{public void run(String s){System.out.println("Excel"+s);}}
配置文件 config.properties
method=run
一个操作配置的工具类
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import java.util.Properties;public class PropertiesUtil {private String configPath = null;private Properties props = null;public PropertiesUtil() throws IOException {InputStream in = PropertiesUtil.class.getClassLoader().getResourceAsStream("config.properties");props = new Properties();props.load(in);in.close();}public String readValue(String key) throws IOException {return props.getProperty(key);}public Map<String, String> readAllProperties() throws FileNotFoundException, IOException {Map<String, String> map = new HashMap<String, String>();Enumeration en = props.propertyNames();while (en.hasMoreElements()) {String key = (String) en.nextElement();String Property = props.getProperty(key);map.put(key, Property);}return map;}public void setValue(String key, String value) throws IOException {Properties prop = new Properties();InputStream fis = new FileInputStream(this.configPath);prop.load(fis);OutputStream fos = new FileOutputStream(this.configPath);prop.setProperty(key, value);prop.store(fos, "last update");fis.close();fos.close();}}
测试类
import java.lang.reflect.Method;public class Demo {public static void main(String[] args) {try {Class c = Class.forName(args[0]);IOffice iof = (IOffice) c.newInstance();Method m = iof.getClass().getMethod(new PropertiesUtil().readValue("method"), String.class);m.invoke(iof, "动态调用");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
0 0
- 运用反射读配置动态调用方法
- 反射动态调用方法
- Java 反射机制运用实例(动态调用类的方法)
- java反射动态方法调用
- java动态反射调用方法
- java 反射动态方法调用
- 在远程方法调用中运用反射机制
- 在远程方法调用中运用反射机制
- Java 反射进行动态方法调用
- 利用反射机制动态调用方法
- 利用反射机制动态调用方法
- OC反射机制-动态调用方法
- 反射动态调用服务器wcf方法
- 通过反射动态调用set,get方法
- 利用反射动态调用多个方法
- 反射动态调用
- 动态调用WebService反射
- 动态编译-反射调用
- javascript面向对象学习笔记(一)——属性
- 矩阵
- 对象克隆以及clone()方法实现时的深拷贝和浅拷贝
- CodeBlocks汉化
- Python日记——用Django做一个简易的知乎日报API
- 运用反射读配置动态调用方法
- NOIP2011 day2 第一题 计算系数
- 暑假第三期---思维题3
- 理解MVC,MVP和MVVM设计模式
- 脏读、不可重复读、幻读
- 10大必会的算法
- NOIP2014 day2 t2 寻找道路
- Java使背景图片自适应窗体的办法
- core dump总结