2015-04-27 37 views
0

我想間接調用java方法,該方法的名稱在.properties文件中指定。如何調用在.properties文件中設置名稱的java方法

我該怎麼做?

+3

您可以使用[反射](https://docs.oracle.com/javase/tutorial/reflect/)。 –

+0

看看這個鏈接.properties文件的好例子http://stackoverflow.com/questions/1318347/how-to-use-java-property-files – Zealous

+0

讓我們在這裏明確。您想從屬性文件中獲取要調用的方法的名稱。這樣可以調用任何方法,具體取決於屬性文件的配置方式。對? – CandiedOrange

回答

0
Object object = // ..... 
try(is = propertiesInputStream()) { 
    Properties p = new Properties(); 
    p.load(is); 
    Method m = org.springframework.util.ReflectionUtils.findMethod(object.getClass(), p.get("method")); 
    Object result = org.springframework.util.ReflectionUtils.invokeMethod(m, object); 
} 
+0

'org.springframework.util.ReflectionUtils.findMethod'?那個依賴於什麼? – EpicPandaForce

+0

'spring-core 4.1.5.RELEASE'和其他版本 – Stewart

+0

我相信,你不需要Spring,JDK爲你提供了一個API來完成反射和調用方法(即使它們是私有的)。讓我看看它... – Victor

相關問題