ปัญหาหลักในบทความนี้ใช้ในการใช้แอ็กชั่นแอ็ตทริบิวต์โดยใช้คำอธิบายประกอบ @Resource ซึ่งเกี่ยวข้องกับการฉีดพึ่งพา - การประกอบด้วยตนเองความแตกต่างระหว่าง @autowired และ @Resource Annotations ฯลฯ ดังนี้
ใช้การฉีดฟิลด์ (สำหรับวิธีการอธิบายประกอบ): การฉีดวัตถุขึ้นอยู่กับการฉีดสามารถประกอบด้วยตนเองหรือประกอบด้วยตนเองโดยอัตโนมัติ แนะนำให้ใช้แอสเซมบลีด้วยตนเองในแอปพลิเคชันที่ใช้งานได้จริงเนื่องจากการประกอบอัตโนมัติจะทำให้สถานการณ์ที่ไม่รู้จักและนักพัฒนาไม่สามารถคาดการณ์ผลการประกอบขั้นสุดท้ายได้
การฉีดพึ่งพา - การประกอบด้วยตนเอง
มีวิธีการเขียนโปรแกรมสองวิธีสำหรับการประกอบวัตถุที่พึ่งพาด้วยตนเอง
1. ในไฟล์กำหนดค่า XML กำหนดค่าผ่านโหนดถั่วเช่น:
<bean id = "orderservice"> // Instructor Injection <constructor-Arg index = "0" type = "java.lang.string" value = "xxx"/> // วิธีการติดตั้งคุณสมบัติการฉีด <property name = "name" value = "zhao"/> </ebean>
2. ใช้คำอธิบายประกอบ @autowired หรือ @Resource เพื่อประกอบในรหัส Java แต่เราจำเป็นต้องกำหนดค่าข้อมูลในไฟล์การกำหนดค่า XML
<ถั่ว xmlns = "http://www.springframework.org/schema/beans" xmlns = "http://www.w3.org/2001/xmlschema-instance" xmlns: บริบท = "http:/ XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/context
การกำหนดค่านี้โดยปริยายลงทะเบียนโปรเซสเซอร์หลายตัวที่แยกความคิดเห็น:
AutoWired AnnotationBeanPostProcessor, CommonAnnotationBeanPostProcessor
PresentenceAnnotationBeanProcessor, จำเป็นต้องใช้ยาเสพติด beanpostprocessor
3. ความแตกต่าง
ใช้คำอธิบายประกอบ @autowired หรือ @Resource เพื่อประกอบในรหัส Java ความแตกต่างระหว่างคำอธิบายประกอบทั้งสองนี้คือ @autowired ถูกรวมเข้าด้วยกันตามประเภทโดยค่าเริ่มต้น @Resource ถูกรวบรวมตามชื่อตามค่าเริ่มต้น เฉพาะเมื่อไม่พบถั่วที่จับคู่ชื่อเท่านั้นจะถูกประกอบตามประเภท
@autowiredPrivate persondao persondao; // ใช้ในสนาม @autowiredpublic void setOrderDao (orderdao orderdao) {this.orderdao = orderdao; // ใช้กับวิธีการตั้งค่าของคุณสมบัติ}คำอธิบายประกอบ @autowired คือการรวบรวมวัตถุที่ต้องพึ่งพาตามประเภท โดยค่าเริ่มต้นจะต้องมีวัตถุที่ต้องพึ่งพา หากได้รับอนุญาตให้ค่า NULL สามารถตั้งค่าเป็นเท็จได้ หากเราต้องการรวบรวมด้วยชื่อเราสามารถใช้ร่วมกับ @qualfier Annotation ดังนี้:
@AutoWired@Qualifier ("Persondao") Persondao Persondao ส่วนตัว;@Resource Annotation เช่น @Autowired สามารถใส่คำอธิบายประกอบบนวิธีการตั้งค่าของฟิลด์หรือคุณสมบัติ แต่มันถูกประกอบตามชื่อตามค่าเริ่มต้น ชื่อสามารถระบุได้ผ่านแอตทริบิวต์ชื่อของ @Resource; หากไม่ได้ระบุแอตทริบิวต์ชื่อเมื่อมีการทำเครื่องหมายคำอธิบายประกอบบนฟิลด์ชื่อของฟิลด์เริ่มต้นจะใช้เป็นชื่อถั่วเพื่อค้นหาวัตถุการพึ่งพา เมื่อคำอธิบายประกอบถูกทำเครื่องหมายบนวิธีการตั้งค่าคุณสมบัติชื่อแอตทริบิวต์จะถูกใช้เป็นชื่อถั่วเพื่อค้นหาวัตถุการพึ่งพา
@Resource (name = "persondaobean") persondao persondao ส่วนตัว;
หมายเหตุ: หากไม่ได้ระบุแอตทริบิวต์ชื่อและวัตถุยังไม่พบโดยค่าเริ่มต้นคำอธิบายประกอบ @Resource จะกลับไปที่แอสเซมบลีตามประเภท แต่เมื่อระบุแอตทริบิวต์ชื่อแล้วมันจะสามารถประกอบได้ด้วยชื่อเท่านั้น
สรุป
ข้างต้นเป็นคำอธิบายโดยละเอียดทั้งหมดของการใช้งานรหัสแอสเซมบลีแอตทริบิวต์ผ่าน @Resource Annotation ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงเว็บไซต์นี้ต่อไปได้:
" คำอธิบายโดยละเอียดเกี่ยวกับวิธีการและรหัสของถั่วอินสแตนซ์สปริง "
" วิธีการโรงงานอินสแตนซ์ของฤดูใบไม้ผลิและวิธีการแบบสแตติกโรงงานตัวอย่างรหัส "
" สปริงใช้รหัสเพื่ออ่านการวิเคราะห์อินสแตนซ์ไฟล์คุณสมบัติ "
หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!