我正在使用java bean的接口。大多数时候,这个界面产生的方法对我来说已经足够了。
但我经常需要访问此接口的实现。
这里的问题是我只有一个 String 键来访问已实现的java bean的特定属性。
在我的运行时,我有 String 变量,其值为successPage
。
然后我有一个接口Content
。此接口不会产生调用的方法
getSuccessPage()
,但其中一个实现Formular
确实如此。
我想使用某种动态解决方法。请参阅此伪代码:
Content content;
String foundValue = propertyResolver.getDynamicValue("successPage", content, String.class)
// this should ultimately call Formular.getSuccessPage() and return it's value
正如您所看到的,我不必告诉方法具体实现的类型。因为我无法明确地告诉运行时实际使用了什么类型的实现。
我已经听说过反思并自己使用它。但我也听说过 Spring PropertyResolver类。我试图使用它们但是无法理解它们的API并且搜索结果无法清除我的目标。
答案 0 :(得分:1)
我会使用apache commons PropertyUtils。
String foundValue = PropertyUtils.getProperty(content, "successPage").toString();