[Java 15 反射机制 ] 工厂模式与 properties 读取配置文件
2014-06-14 13:55
483 查看
Factory 工厂模式,配置文件 properties 相关
吃苹果
吃橘子
Process finished with exit code 0
package com.qunar.basicJava.javase.p15reflect.factory; import java.io.*; import java.util.Properties; /** * Author: libin.chen@qunar.com Date: 14-6-14 11:24 */ interface Fruit { public void eat(); } class Apple implements Fruit { @Override public void eat() { System.out.println("吃苹果"); } } class Orange implements Fruit { @Override public void eat() { System.out.println("吃橘子"); } } class Factory { public static Fruit getInstance(String className) throws ClassNotFoundException, IllegalAccessException, InstantiationException { Fruit fruit = null; fruit = (Fruit) Class.forName(className).newInstance(); return fruit; } } class Init { public static Properties getPro() throws IOException { Properties properties = new Properties(); File file = new File("/home/work/JavaProjects/JavaLearns/BasicJava/src/main/java/com/qunar/basicJava/javase/p15reflect/factory/fruit.properties"); if (file.exists()) { properties.load(new FileInputStream(file)); } else { properties.setProperty("apple", "com.qunar.basicJava.javase.p15reflect.factory.Apple"); properties.store(new FileOutputStream(file), "FRUIT CLASS"); } return properties; } } public class FactoryDemo01 { public static void main(String[] args) throws IOException, IllegalAccessException, InstantiationException, ClassNotFoundException { Properties properties = Init.getPro(); Fruit fruit = Factory.getInstance(properties.getProperty("apple")); if (fruit != null) { fruit.eat(); } Fruit fruit1 = Factory.getInstance(properties.getProperty("orange")); if (fruit1 != null) { fruit1.eat(); } } }fruit.properties
apple=com.qunar.basicJava.javase.p15reflect.factory.Apple orange=com.qunar.basicJava.javase.p15reflect.factory.Orange输出 :
吃苹果
吃橘子
Process finished with exit code 0
相关文章推荐
- 在工厂模式中使用Properties配置文件出现java.lang.ExceptionInInitializerError的问题
- 反射机制与配置文件结合的工厂设计模式
- Java 文件反射机制 工厂模式
- Java工厂模式与反射机制、外部配置相结合
- 15. JAVA 反射机制 Part 2(动态代理、类的生命周期、工厂设计模式) ----- 学习笔记
- java Config配置文件读取#应用反射、工场模式
- Java Properties 类读取配置文件信息
- 利用Java的Properties 类读取配置文件信息
- Java Properties 类读取配置文件信息
- Java Properties 类读取配置文件信息
- All about JAVA 读取配置文件的方法 (这里是config.properties)
- Java Properties 类读取配置文件信息
- C# 静态工厂利用反射机制动态构建配置文件中 所配置的类的对象
- Java Properties 类读取配置文件信息
- Java Properties 类读取配置文件信息
- Java Properties 类读取配置文件信息,Java properties文件的操作(zz)
- java中经常用到的读写配置文件的信息properties属性的写入,读取例子
- Java Properties 类读取配置文件信息
- Java 反射读取配置文件及反射类
- java读取.properties配置文件 的几种方式