如果在Spring Context中找不到bean,如何提供自定义逻辑来搜索bean

时间:2018-07-20 10:29:15

标签: spring javabeans

如果Spring上下文找不到从我的xml引用的bean,我希望能够在抛出BeanNotFoundException(无论期望是什么)之前提供一些自定义逻辑(即在另一个Spring Context中查看或以编程方式创建bean)

1 个答案:

答案 0 :(得分:0)

您可以使用BeanFactoryPostProcessor动态定义您的bean(单击链接以获取解释)。

或者,如果您想以一种懒惰的方式(而不是在应用程序启动时)对bean进行操作,则强烈建议您不要这样做,因为您将遇到与bean配置状态相关的错误,这些错误在编译时不可见时间:无论如何,您可以肯定地向您的ApplicationContext添加自定义单例:而不是从春季起不调用getBean(),如果什么都没找到,则将调用您的类来响应哪个bean对应于bean名称,并且您将间接拥有有机会处理BeanNotFoundException

查看有关第二个(不推荐)解决方案here的帖子:How to add Properties to an Application Context