我是Spring的新手,正在开发一个由Spring组成的项目。 它在xml文件中有这段代码
<bean id="quotClient" class="com..at.client.QuoteClient" scope="singleton" />
<bean id="streamClient" class="com.at.client.StreamClient" scope="singleton" />
在java类中,它有这段代码
@Autowired
@Qualifier("streamClient")
private StreamClient sclient;
@Autowired
@Qualifier("quotClient")
private QuoteClient quotesClient;
public void setQuotesClient(QuoteClient quotesClient) {
this.quotesClient = quotesClient;
}
请让我知道为什么没有为StreamClient类设置名称的方法,但是它有相应的QuoteClient设置方法。
答案 0 :(得分:0)
由于您正在使用注释驱动的bean自动装配,因此您不需要任何禁令设置器(这些是使用反射设置的)。 Spring DI框架不需要setQuotesClient
来注入这两个bean实例。
PS:从春季版3.0开始,您可以开始使用@Inject
代替@Autowired
。
答案 1 :(得分:0)
我认为setter方法错误地写了。 删除该setter并测试该应用程序。它应该工作。