使用配置文件配置工厂生产(工厂模式-base)

通过Properties类加反射达到配置文件信息的读取的实现,单方面实现,仅供学习参考,实际使用还是按照实际生产:

假设代码包package已经已经new了,在下面创建一个文件,右键--->new--->File--->name为spring.properties

内容为:

spring.properties --->>>>

VechicleType=com.*******.Train

------------------------------------------------


以下为参考代码:


public interface BeanFactory {
Object getBean(String id);
}


---------------------------------------------------------------------

public class Car implements Moveable {

public void run() {
System.out.println("冒着烟奔跑中car...");
}
}

---------------------------------------------------------------------

public interface Moveable {
void run();
}

---------------------------------------------------------------------

public class Test {
public static void main(String[] args) throws Exception {
Properties pros = new Properties();
pros.load(Test.class.getClassLoader().getResourceAsStream("com/wch/factory/springFactory/spring.properties"));//站在JVM上,每个java类load到内存后都会被当场一哥class对象
String vehicleTypeName = pros.getProperty("VechicleType");//as a key
System.out.println(vehicleTypeName);
//We won't create new instance here!
Object obj = Class.forName(vehicleTypeName).newInstance();  //路径里面的类load到内存,但是Class装载到内存是尚且没有产生实例,还需要实例化new instance.
Moveable m = (Moveable)obj;
m.run();
}
}

---------------------------------------------------------------------

public class Train implements Moveable {


@Override
public void run() {
System.out.println("小火车呜呜呜...");
}

}

---------------------------------------------------------------------




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值