我正在使用java bean的接口。大多数时候,这个接口产生的方法对我来说已经足够了。
但是我经常需要访问此接口的实现。
这里的问题是我只有一个字符串键来访问已实现的 java bean 的特定属性。
问题
在我的运行时中,我有以下值为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
如您所见,我不必告诉该方法具体实现将具有哪种类型。因为我无法明确告诉运行时实际使用的实现类型。
我已经听说过反射并自己使用它。但我也听说过SpringPropertyResolver类。我尝试使用它们,但无法理解它们的 API,搜索结果也无法清除我的视线。
我会使用apache commons PropertyUtils。
String foundValue = PropertyUtils.getProperty(content, "successPage").toString();