ฉันรู้ว่านี่เป็นคำถามเก่า แต่ฉันไม่พบคำตอบใด ๆ ที่ช่วยแก้ปัญหานี้ให้ฉันได้ดังนั้นฉันจะให้คำตอบ
หมายเหตุ: ผมคิดว่าปัญหาอาจจะได้รับนี้แต่ปัญหาของฉันก็ไม่ได้เกี่ยวข้องกับการดำเนินการติดต่อกันเป็นครั้งที่สอง การใช้@Qualitier
ทำให้ปัญหาของฉันหายไป แต่มันเป็นผ้าพันแผลและไม่ใช่วิธีแก้ปัญหาที่เหมาะสมดังนั้นฉันจึงไม่ได้จัดการกับสิ่งนั้น
พื้นหลัง
ฉันได้รับมอบหมายให้ดูแลโครงการเก่าที่ผ่านสปริงเวอร์ชันต่างๆและอัปเดตเฉพาะสำหรับโมดูลแยกต่างหากดังนั้นสิ่งที่จำเป็นต้องมีการปรับโครงสร้างใหม่อย่างน้อยที่สุด ในตอนแรกฉันได้รับปัญหา bean ที่ซ้ำกันและการแก้ไขกับสิ่งต่างๆได้เปลี่ยนปัญหาไปมาระหว่างปัญหาของ OP และปัญหาถั่วที่ซ้ำกันแม้ว่าจะมีเพียงถั่วเดียวก็ตาม การนำทางไปยังถั่วที่ซ้ำกันจะไปที่คลาสเดียวกันเสมอ
ปัญหา
ปัญหานี้มีอยู่ใน@Repository
คลาสที่อยู่@Autowired
ใน@Service
คลาสซึ่งมี@ComponentScan
คำอธิบายประกอบอยู่ด้วย ฉันสังเกตว่าฉันยังมีสปริงapplication-config.xml
ที่ทำcontext:component-scan
บนแพ็คเกจพื้นฐานซึ่งฉันเชื่อว่าเป็นแนวทางดั้งเดิมใน Spring เวอร์ชันเก่า ฉันอยู่ระหว่างการสร้างสาขาใหม่โดยนำส่วนของสาขาเก่าและสาขาที่ใหม่กว่ามาใช้ในโครงการสนับสนุนที่ใช้ในโครงการต่างๆที่ได้รับการพัฒนาในช่วงหลายปีที่ผ่านมาและนั่นคือสาเหตุที่มีการผสมผสานกันอย่างลงตัว วิธีการ
โซลูชันที่เรียบง่าย
เนื่องจากมีการนำแนวทางการใช้งานที่ทันสมัยกว่ามาใช้@ComponentScan
แล้วฉันจึงนำออกapplication-config.xml
และปัญหาได้รับการแก้ไขแล้ว