Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring中的依赖注入故障切换_Spring_Dependency Injection - Fatal编程技术网

Spring中的依赖注入故障切换

Spring中的依赖注入故障切换,spring,dependency-injection,Spring,Dependency Injection,如果要注入的第一个bean失败,是否可以指定要注入的另一个bean 假设我们有Bean1、Bean2和Bean3。Bean1需要Bean2,但是如果由于某种原因Bean2不能被注入,那么我希望Bean3被注入。但每次从容器中检索Bean1时,它都应该在尝试注入Bean3之前先尝试注入Bean2。这可能吗?如果没有,我的选择是什么?我认为这个问题有缺陷。在正常情况下,Spring应该用于声明性地注入bean。正如Don Roby所指出的,Adrian Shum你试图解决的问题不是春天 Spring

如果要注入的第一个bean失败,是否可以指定要注入的另一个bean


假设我们有Bean1、Bean2和Bean3。Bean1需要Bean2,但是如果由于某种原因Bean2不能被注入,那么我希望Bean3被注入。但每次从容器中检索Bean1时,它都应该在尝试注入Bean3之前先尝试注入Bean2。这可能吗?如果没有,我的选择是什么?

我认为这个问题有缺陷。在正常情况下,Spring应该用于声明性地注入bean。正如Don Roby所指出的,Adrian Shum你试图解决的问题不是春天


Spring并不像服务定位器那样为您动态地解决依赖关系。

据我所知,这个问题是有缺陷的。在正常情况下,Spring应该用于声明性地注入bean。正如Don Roby所指出的,Adrian Shum你试图解决的问题不是春天


Spring并不像服务定位器那样为您动态地解决依赖关系。

您想要解决的实际问题是什么?这种有条件的依赖项注入听起来像是试图解决一些可能有更好解决方案的问题。你能建议一下为什么Bean2的注入会失败吗?因为Bean2可能是一个在注入之前从另一台服务器上查找的bean,当该服务器关闭时,它当然会失败。可能还有其他原因。你想解决什么实际问题?这种有条件的依赖项注入听起来像是试图解决一些可能有更好解决方案的问题。你能建议一下为什么Bean2的注入会失败吗?因为Bean2可能是一个在注入之前从另一台服务器上查找的bean,当该服务器关闭时,它当然会失败。可能还有其他原因。创建一个bean用作服务定位器,并让该bean执行您的动态查找逻辑。@NathanHughes:好建议@尼利斯:我不认为我想要实现的目标会使事情变得非声明性。事实上,引入服务定位器将使其成为非声明性的。我认为Spring提供该功能没有任何问题。AFAIK依赖注入被发明来取代服务定位器,不是吗?+1。创建一个bean用作服务定位器,并让该bean执行您的动态查找逻辑。@NathanHughes:好建议@尼利斯:我不认为我想要实现的目标会使事情变得非声明性。事实上,引入服务定位器将使其成为非声明性的。我认为Spring提供该功能没有任何问题。AFAIK依赖注入被发明来取代服务定位器,不是吗?