Java中配置文件和反射一起结合的使用
2016-11-21 17:07
337 查看
在之前如果你没有对反射有个大概的了解,可以查看博客:
反射的使用详解
先把基础类罗列出来:
下面写的是配置文件的内容,配置文件我用的是xxx.txt文件
配置文件的格式就是上面这个,形如: key=value 的格式。
下面是测试类:
因为会反射的人都会使用上面的,所以对那些会用的人来说就是水到渠成,不用多余的解释,有对反射不懂的,可以查看本文开始给出的链接内容。
值得注意的是:
例子:
当同一个配置对象加载多个配置文件之后,前面加载的配置文件不会被清空。
相同的属性会被覆盖!!!
反射的使用详解
先把基础类罗列出来:
public class Loser { public void action(){ System.out.println("破罐子破摔!!"); } }
public class SuoLong { public void action(){ System.out.println("受尽苦难而不厌,此乃修罗之路!!"); } }
下面写的是配置文件的内容,配置文件我用的是xxx.txt文件
ClassName=reflect_property.SuoLong//很明显类的路径是全路径 包名.类名 MethodName=action
配置文件的格式就是上面这个,形如: key=value 的格式。
下面是测试类:
public class Test_Reflect { public static void main(String[] args) throws Exception{ /* * 通过配置文件类读取一定格式的配置文件。 */ Properties properties=new Properties(); FileInputStream inputStream=new FileInputStream(new File("reflect_property.txt")); properties.load(inputStream); /* * 读取成功后就读取里面的值 */ String className=properties.getProperty("ClassName"); String methodName=properties.getProperty("MethodName"); /* * 然后通过反射获取对象 */ Class clazz=Class.forName(className); Constructor constructor=clazz.getConstructor(); Object object=constructor.newInstance(); /* * 通过当前class文件对象的 方法对象调用实例化对象中的方法 */ Method method=clazz.getDeclaredMethod(methodName); method.invoke(object); } }
因为会反射的人都会使用上面的,所以对那些会用的人来说就是水到渠成,不用多余的解释,有对反射不懂的,可以查看本文开始给出的链接内容。
值得注意的是:
例子:
import java.util.Properties; import java.io.FileInputStream; import java.io.IOException; public class pro01{ public static void main(String args[]) throws IOException{ Properties pro=new Properties(); FileInputStream inputstream01=new FileInputStream("property.txt"); FileInputStream inputstream02=new FileInputStream("property02.txt"); pro.load(inputstream01); System.out.println(pro.getProperty("userName")); pro.load(inputstream02); System.out.println(pro.getProperty("passWord")); System.out.println("###############################################"); System.out.println(pro.getProperty("userName")); System.out.println(pro.getProperty("passWord")); } }
当同一个配置对象加载多个配置文件之后,前面加载的配置文件不会被清空。
相同的属性会被覆盖!!!
相关文章推荐
- java反射,类加载器以及配置文件的结合使用
- java反射调用配置文件构造类对象,使用其方法
- Java 反射将配置文件数据加载到对象属性中Reflect与Properties使用
- java反射调用配置文件构造类对象,使用其方法
- java使用dom4j解析xml配置文件实现抽象工厂反射示例
- Java 反射读取配置文件及反射类
- 使用Java的配置文件
- java中的配置文件(Properties)的使用
- Java中封装配置文件(1)-使用Properties
- 编写一个文件,读取 src 下面day12包 下面的my.properties 文件,文件内容如下, className=day12.User 结合 IO、反射知识,完成 配置文件中对象的创建和方法调用。并编写方法,列举出 Student 类中所有的属性、
- JAVA学习:JDBC连接DB2数据库(2):使用配置文件
- 使用反射和范型来动态读写应用程序配置文件
- 谈Java Properties配置文件, 是J2EE容器的命令行绑定, 还是使用Deploy自适应的绑定?
- 谈Java Properties配置文件, 是J2EE容器的命令行绑定, 还是使用Deploy自适应的绑定?
- Flex与Java交互使用BlazeDS配置文件的问题
- Java 连接access 使用access文件 不用配置
- Java中封装配置文件(1)-使用Properties
- [JAVA][Structs]Structs使用多个配置文件
- 结合 FileSystemWatcher更好的使用配置文件
- Java中封装配置文件(1)-使用Properties (转)