1

我是 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 有相应的设置方法。

4

2 回答 2

0

由于您使用的是注释驱动的 bean 自动装配,因此您不需要任何设置器来执行禁令(这些设置器是通过使用反射设置的)。Spring DI 框架甚至setQuotesClient不需要注入这两个 bean 实例。

PS:从 spring 3.0 版本开始,你可以开始使用@Inject而不是@Autowired.

检查:Spring @Autowired 是如何工作的

于 2013-08-01T16:07:33.520 回答
0

我认为setter方法写错了。删除该设置器并测试应用程序。它应该工作。

于 2013-08-01T16:09:11.173 回答