Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Java 在spring单元测试中将null注入到autowired@Resource成员_Java_Spring - Fatal编程技术网

Java 在spring单元测试中将null注入到autowired@Resource成员

Java 在spring单元测试中将null注入到autowired@Resource成员,java,spring,Java,Spring,我已经实现了一些使用。测试包括按名称自动连接的成员,例如 @Resource private FooBar myFooBar; 我将测试配置为能够使用前面提到的不同配置运行 某些配置不允许运行所有测试(例如,没有可用的数据库)。在这种情况下,我想跳过测试。我跳过测试的标准是myFooBar==null assumeTrue(myFooBar != null) 我面临着如何将null注入此成员的问题。我试过了 <bean id="myFooBar" class="FooBar">

我已经实现了一些使用。测试包括按名称自动连接的成员,例如

@Resource
private FooBar myFooBar;
我将测试配置为能够使用前面提到的不同配置运行

某些配置不允许运行所有测试(例如,没有可用的数据库)。在这种情况下,我想跳过测试。我跳过测试的标准是
myFooBar==null

assumeTrue(myFooBar != null)
我面临着如何将
null
注入此成员的问题。我试过了

<bean id="myFooBar" class="FooBar">
  <null />
</bean>

但这不起作用(发现以元素“null”开头的内容无效…)

如果我没有在我的context.xml中配置bean,我会得到一个
NoSuchBeanDefinitionException

Spring向我的成员注入
null
不会那么难,但对我来说确实很难:-)

我必须补充一点,我的
FooBar
类没有默认构造函数

您知道如何注入
null
,或者如何忽略自动连线测试类成员上缺少的bean定义吗

问候

K.Claszen

如果您要使用
@Autowired
按类型自动连线,而不是使用
@Resource
按名称自动连线,则可以执行以下操作:

@Autowired(required = false)
private FooBar myFooBar;
设置
required=false
将使Spring在无法解决此依赖项时忽略此依赖项,如下所示

您仍然可以通过使用
@Autowired
使用
@Qualifier
提供bean名称来使用名称自动关联:

@Autowired(required = false)
@Qualifier("myFooBar")
private FooBar myFooBar;

有关
@Qualifier
的更多信息,请参阅本页。

如果您想使用
@Autowired
按类型自动连线,而不是使用
@Resource
按名称自动连线,则可以执行以下操作:

@Autowired(required = false)
private FooBar myFooBar;
设置
required=false
将使Spring在无法解决此依赖项时忽略此依赖项,如下所示

您仍然可以通过使用
@Autowired
使用
@Qualifier
提供bean名称来使用名称自动关联:

@Autowired(required = false)
@Qualifier("myFooBar")
private FooBar myFooBar;

有关
@Qualifier
的更多信息,请参阅本页。

请参阅@axtavt感谢我没有找到它+在链接位置为您发送1封邮件。请参阅@axtavt谢谢,我没有找到+1在链接位置为您准备。听起来真不错。他将于周二返回办公室。我会尽快给你反馈,非常适合我。谢谢听起来真不错。他将于周二返回办公室。我会尽快给你反馈,非常适合我。谢谢