以下のように、「ticketDao」の依存関係を持つテストケースがあります。
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Qualifier;
public class LfnSaleCancellationIntegrationTest extends BaseIntegrationTest {
//@Resource(name = "baseTicketDao")
private BaseTicketDao ticketDao;
....
public void setTicketDao(@Qualifier("baseTicketDao") BaseTicketDao ticketDao) {
this.ticketDao = ticketDao;
}
}
BaseIntegrationTestはSpringテストフレームワークのAbstractJpaTestsから拡張され、Springはv3.0.5です。
このテストケースを実行すると、同様の例外が発生しました。
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
No unique bean of type [com.mpos.lottery.te.gamespec.sale.dao.BaseTicketDao]
is defined: expected single matching bean but found 2:
[baseTicketDao, extraballTicketDao]
私のプロジェクトは長い間進化してきました。実際、この例外に初めて遭遇したとき、@Qualifierはそれを解決しました。今日まで、このプロジェクトは大きく変化しましたが、@Qaulifierと@Resourceが機能しなくなった理由がわかりません。
そして、「ticketDao」の依存関係を削除すると、テストケースは合格になります。スプリング構成の変更がこの例外の原因になるかどうか疑問に思っていますか?または...私は多くのグーグルをしましたが、他の人がそのような問題に直面したことはないようです、plsはあなたのコメントを与えます、どうもありがとう!