如何基于Java中的配置动态实例化类

时间:2018-03-22 17:35:20

标签: java spring

有没有办法改变哪个类将在Java中实例化(如果可能的话,在Spring中)。 例如,使用Refection并从数据库中读取配置可能是可能的,但Reflection是重技术,因为创建的对象的数量将非常高。 所以,我需要的是在运行时基于外部配置创建对象。如果我更改配置,在运行时并且没有重新部署,我希望你创建一个不同类的对象。例如,一个进程正在创建类A的对象,在更改配置而不重新部署之后,该进程必须创建类B的对象

1 个答案:

答案 0 :(得分:1)

您可以使用newInstance方法。

Class.forName("<<your class name>>").newInstance()

但是你需要对新实例进行类型转换。