反射非常强大,但是学习了之后,会不知道该如何使用,反而觉得还不如直接调用方法来的直接和方便。需要结合Spring来理解使用
以下是结合Spring的个例:
使用反射方式,首先准备一个配置文件——spring.txt(其他也行), 放在src目录下。 里面存放的是类的名称,和要调用的方法名,另外就是一些属性名。
在测试类中,首先取出类名称和方法名,然后通过反射去调用这个方法。
以下的普通类指的是 —— 利用传统方式(非反射机制)来调用方法及其他操作
当需要从调用第一个之前普通类的方法,切换到调用第二个普通类的方法的时候,不需要修改一行代码,也不需要重新编译,只需要修改配置文件spring.txt,再运行即可。(这里就涉及到文件里的输入输出流 及其他类的方法调用)
File springConfigFile = new File("spring.txt");
Properties springConfig= new Properties();
springConfig.load(new FileInputStream(springConfigFile));
String className = (String) springConfig.get("class");
String methodName = (String) springConfig.get("method");
之后还需要 获取类对象等操作
这也是Spring框架的最基本的原理,只是它做的更丰富,安全,健壮。