เมื่อใช้การสแกนส่วนประกอบคุณต้องระบุเส้นทางการสแกนในการกำหนดค่า XML ตอนนี้
<บริบท: Component-Scan back-package = "yangjq.test">
อินสแตนซ์คอนเทนเนอร์สแกนคลาสส่วนประกอบทั้งหมดภายใต้แพ็คเกจ Yangjq.test และแพคเกจย่อย
เฉพาะเมื่อคำจำกัดความของคลาสส่วนประกอบถูกนำหน้าด้วยเครื่องหมายคำอธิบายประกอบต่อไปนี้คลาสส่วนประกอบเหล่านี้จะถูกสแกนลงในคอนเทนเนอร์สปริง
- คำอธิบายประกอบทั่วไป @component
- @Name คำอธิบายประกอบทั่วไป
- @Repository Stervantence Layer Component Annotation
- @Service Business Layer Component Annotation
- @Controller control layer คำอธิบายประกอบ
ชื่อ
ส่วนประกอบจะสร้างค่า ID เริ่มต้น (ชื่อคลาสเริ่มต้นด้วยตัวพิมพ์เล็ก) ในระหว่างกระบวนการสแกน นอกจากนี้ยังสามารถปรับแต่งในเครื่องหมายคำอธิบายประกอบเช่น:
// นี่คือ ID เริ่มต้นค่าคือ OracleUserDao@repositoryPublic คลาส OracleUserDao ใช้ UserDao {} // นี่คือ ID ที่กำหนดเองค่าคือ LoginService@Service ("LoginService") ผู้ใช้ระดับสาธารณะ {}ขอบเขตส่วนประกอบ
ขอบเขตเริ่มต้นของส่วนประกอบที่มีการจัดการสปริงคือ "Singleton" หากคุณต้องการขอบเขตอื่น ๆ คุณสามารถใช้คำอธิบายประกอบ @Scope เพียงแค่ให้ชื่อขอบเขตในคำอธิบายประกอบ
@Scope ("Prototype")@repositorypublic คลาส Oracleuserdao ใช้ UserDao {}การเริ่มต้นและการทำลายล้าง
@PostConstruct และแท็กคำอธิบายประกอบ @Predestroy ใช้เพื่อระบุวิธีการเริ่มต้นและการทำลายล้างการโทรกลับเช่น:
คลาสสาธารณะตัวอย่าง {@postConstruct โมฆะสาธารณะ init () {// ......... การเริ่มต้น} @Predestroy โมฆะสาธารณะทำลาย () {// ...... ทำลาย}}คำอธิบายประกอบสำหรับถั่วที่มีความสัมพันธ์ในการฉีดพึ่งพา
สามารถใช้สิ่งใด ๆ ต่อไปนี้เพื่อใช้การฉีดเชิงสัมพันธ์
- @Resource
- @AutoWired/ @qualifier
- @inject/ @ชื่อ
โดยปกติจะมี @Resources จำนวนมากที่ใช้ดังนั้นเรามาพูดถึง @Resource หากคุณใช้คนอื่น ๆ ให้ค้นหาและอ่าน
@Resource แท็กคำอธิบายประกอบสามารถใช้ก่อนคำจำกัดความของฟิลด์หรือคำจำกัดความวิธีการตั้งค่า โดยค่าเริ่มต้นการฉีดนัดแรกจะถูกใช้ด้วยชื่อจากนั้นพิมพ์การจับคู่
ผู้ใช้คลาสสาธารณะ {//@ทรัพยากรนี้ใช้เพื่อกำหนด UserDao UserDao ส่วนตัว; @Resource // สิ่งนี้ใช้เพื่อนำหน้าวิธีการตั้งค่าโมฆะสาธารณะ setUserDao (userdao dao) {this.userdao = dao;}}}}}}}}}}}ข้อผิดพลาดเกิดขึ้นเมื่อพบถั่วหลายชนิด คุณสามารถระบุชื่อได้อย่างชัดเจนเช่น @Resource (name =” Exampledao”)
สรุป
ข้างต้นเป็นคำอธิบายโดยละเอียดทั้งหมดของการสแกนองค์ประกอบที่ใช้คำอธิบายประกอบและฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!