Saya tahu ini adalah pertanyaan lama, tetapi saya belum menemukan jawaban yang memecahkan masalah ini untuk saya, jadi saya akan memberikan solusi saya.
Catatan: Saya pikir masalahnya mungkin begini , tetapi masalah saya tidak terkait dengan penerapan antarmuka yang sama dua kali. Menggunakan @Qualitier
memang membuat masalah saya hilang, tetapi itu adalah perban dan bukan solusi yang tepat jadi saya tidak puas dengan itu.
LATAR BELAKANG
Saya ditugaskan untuk memelihara proyek lama yang telah melalui versi pegas yang berbeda dan hanya diperbarui untuk modul terpisah, jadi hal-hal perlu refactoring, untuk sedikitnya. Saya awalnya mendapatkan masalah kacang duplikat dan mengotak-atik hal-hal mengubah masalah bolak-balik antara masalah OP dan masalah kacang duplikat meskipun hanya ada satu kacang; menavigasi ke kacang duplikat selalu pergi ke kelas yang sama.
MASALAH
Masalah hadir pada @Repository
kelas yang berada @Autowired
di @Service
kelas yang juga memiliki @ComponentScan
anotasi. Saya perhatikan bahwa saya juga memiliki pegas application-config.xml
yang melakukan context:component-scan
paket dasar, yang menurut saya merupakan pendekatan asli dalam versi Spring yang lebih lama. Saya sedang dalam proses membuat cabang baru dengan mengambil bagian dari cabang lama dan cabang yang lebih baru dalam proyek dukungan yang digunakan dalam proyek berbeda yang dikembangkan selama beberapa tahun dan itulah mengapa ada perpaduan dan kecocokan metodologi.
SOLUSI SEDERHANA
Karena pendekatan penggunaan yang lebih modern @ComponentScan
sudah diterapkan, saya baru saja menghapusnya application-config.xml
dan masalahnya sudah terpecahkan.