spring - 如果在 Spring Context 中找不到 bean,如何提供自定义逻辑来搜索 bean
问题描述
如果 Spring 上下文找不到从我的 xml 引用的 bean,我希望能够在抛出 BeanNotFoundException(无论期望是什么)之前提供一些自定义逻辑(即查看另一个 Spring 上下文或以编程方式创建 bean)。
解决方案
您可以使用BeanFactoryPostProcessor动态定义您的 bean(单击链接查看说明)。
或者,如果您想以一种懒惰的方式(而不是在应用程序启动时)对您的 bean 进行操作,我强烈建议您不要这样做,因为您将遇到与您的 bean 配置状态相关的错误,这些错误在编译时不可见:无论如何,你当然可以在你的 ApplicationContext 中添加一个自定义的单例:而不是从 spring 调用 getBean(),如果没有找到,你的类将被调用来响应哪个 bean 对应于一个 bean 名称,你将间接有机会处理BeanNotFoundException
在此处查看有关第二个(不推荐)解决方案的帖子:如何将属性添加到应用程序上下文
推荐阅读
- html - 使用 span 代替复选框
- java - 如何使此服务器在网络的多台计算机上工作
- xamarin - Xamarin 添加 Semi-Const 标头以重新调整 API 调用
- c++ - 处理小于 cpu 数据总线的数据类型。(将 C++ 转换为机器代码。)
- google-sheets - 尝试使用 Query 将数据从一个选项卡复制到另一个选项卡
- python-3.x - 如何使用来自用户的密码加密数据
- flutter - 在 VSCode 中创建新的 Flutter 项目
- react-native - React Native 多聊天室 Redux 结构
- typescript - @typescript-eslint/naming-convention:如何混合错误和警告规则?
- nginx - 如何结合错误和访问日志在 nginx 中创建自定义格式的日志?