@ComponentScan
จะแสดงรายการคลาสทั้งหมดที่มีคำอธิบายประกอบ @Component
ในแพ็คเกจ (หรือ @Service
/@Repository
) ในการทำเช่นนี้ ฉันคิดว่าพวกเขาใช้การสะท้อนกลับเพื่อแจกแจงคลาสทั้งหมดในแพ็คเกจและค้นหาคลาสที่มีคำอธิบายประกอบนั้น
อย่างไรก็ตามตามคำตอบอื่นๆ ของ StackOverflow คุณสามารถ ไม่สามารถระบุคลาสทั้งหมดในแพ็คเกจได้อย่างน่าเชื่อถือเนื่องจากวิธีการทำงานของ ClassLoader
ดูเหมือนว่า @ComponentScan
จะจัดการให้สำเร็จได้อย่างไร
findCandidateComponents
ยอมรับbasePackage
เป็นอาร์กิวเมนต์อินพุต จากนั้นResourcePatternResolver
instance จะอ่านไฟล์ classpath ทั้งหมดที่มีส่วนต่อท้าย.class
หวังว่านี่จะช่วยได้! - person harshavmb   schedule 07.06.2017