我有
public class Foo
{
}
我有
public class Bar
{
@Autowired
Foo foo;
}
现在,我希望能够以不同的方式配置Foo。因此,Bar
将使用Foo,其将使用一个Resource
而Baz
将使Foo
具有不同的Resource
。
我尝试将其添加到.xml:
中<bean id="Foo1" class="com.something.Foo" >
<constructor-arg value="#{ appProperties.resourece1 }"/>
</bean>
<bean id="Foo2" class="com.something.Foo" >
<constructor-arg value="#{ appProperties.resourece2 }"/>
</bean>
我创建了一个构造函数
public class Foo
{
public Foo(Resource resource)
{
}
}
我用过
@Autowired @Qualifier("Foo1")
Foo foo;
然而,它抛出没有找到默认构造函数;嵌套异常是java.lang.NoSuchMethodException:com.ssomething.Foo。() 所以,看起来它根本就忽略了.xml。
解决这个问题的正确方法是什么,因为看起来我做错了什么?在这种情况下,我应该完全转储@Autowired
吗?