2012-10-17 31 views
1

我有一个弹簧环境文件,其中包含多个定义类型的bean。 如果我的程序输入是“帮助”,那么我想显示上下文文件中的bean名称,以便用户可以选择一个特定的bean并将其作为输入。该程序将用该名称实例化该bean并执行一些逻辑。 我无法从特定的上下文文件中查询bean名称列表。 我不想使用属性文件来存储bean名称,因为我已经在使用spring上下文文件。有一个更好的方法吗 ?从特定的上下文文件中读取所有弹簧豆

+0

基本上我想要的只是在特定的上下文文件中定义的bean列表。 – Thunderhashy

回答

2

Spring的BeanFactory有一个叫做String[] getBeanDefinitionNames()的方法。请参阅Javadoc here.您可以迭代返回的列表并将其显示给用户。那么你可以对选择的bean名称执行getBean调用来运行逻辑。

+0

我考虑过这个选项。但是getBeanDefinitionNames()会返回一大堆不相关的bean。基本上我想要的只是在特定的上下文文件中定义的bean列表。 – Thunderhashy

+0

然后为每个配置文件创建一个单独的上下文或在道具中管理它......我没有看到任何其他选项。 –

+0

是的..似乎没有任何其他选择。 – Thunderhashy