..


ลิงก์ผู้สนับสนุน

คอนเทนเนอร์หลัก -- พึ่งพาการฉีด Setter

ใช้พึ่งพาการฉีดสร้างสามารถนำไปสู่​​การสร้างการอ้างอิงเป็นวงกลมระหว่างถั่ว ตัวอย่างเช่นถ้าส่วนหัวของเรื่องออกจะต้องมีการยกตัวอย่างถึง B วัตถุ แต่ในเวลาเดียวกันวัตถุ B วัตถุที่ต้องการจะสร้างการอ้างอิงที่ไม่สามารถแก้ไขได้โดยใช้ฉีดพึ่งพา constructor

ในกรณีเช่นนี้คุณต้องใช้ Setter พึ่งพาการฉีดจะคล้ายกับการสร้าง แต่แตกต่างอยู่ในความจริงที่ว่าจะฉีดขึ้นหลังจากที่วัตถุถูก instantiated นี่คือตัวอย่าง :






 {สาธารณะ Bean2 ชั้น



	

  



 genericService GenericService เอกชน





  



 setGenericService โมฆะสาธารณะ (GenericService genericService) {



    



 this.genericService = genericService;



  



 }





  



 getGenericService GenericService สาธารณะ () {



    



 genericService กลับ;



  



 }



	

  



 / **



   



 ตรรกะทางธุรกิจ * .............



   



 * /









 }



nell'applicationContext. XML





 <bean id="setterBean" class="it.mrwebmaster.di.setter.Bean2">



  



 <property name="genericService" ref="genericService" />







 <Bean />



นอกเหนือจากการแก้ปัญหาของการ dipenze Setter วงกลมพึ่งพาการฉีดยังสามารถกำหนดค่าใหม่ที่รันไทม์ถั่วสำหรับเหตุผลเหล่านี้เป็นที่ต้องการเพื่อสร้าง บางโรงเรียนของความคิด แต่คนบอกว่าดีที่จะใช้ entrabe : สร้างสำหรับการอ้างอิงที่จำเป็นและ setters สำหรับตัวเลือกเหล่านั้น จะแนะนำให้ใช้ setter ในขณะที่มันหายากมากที่มีการอ้างอิงตัวเลือก

นอกจากนี้ยังใช้พื้นฐานของ DI, มีคุณสมบัติอื่น ๆ ที่มีฤดูใบไม้ผลิเช่นสตริงว่างเปล่าหรือคุณสามารถฉีดเขตข้อมูล Null :






 <--! ค่า NULL 1 -->







 <bean id="nullBean1" class="it.mrwebmaster.di.constructor.bean" factory-method="createBean">



  



 <constructor-arg type="java.lang.Integer" value="0" />



  



 <constructor-arg type="java.lang.String" value="" />



  



 <constructor-arg type="it.mrwebmaster.di.constructor.GenericService"> <null/> </ constructor - Arg>







 <Bean />









 <--! NULL VALUE 2 -->







 <bean id="nullBean2" class="it.mrwebmaster.di.setter.Bean2">



  



 <property name="genericService"> <null/> </ Property>







 <Bean />



ฤดูใบไม้ผลิยังมีคอลเลกชันของรายการประเภทการจัดการ, ชุด, แผนที่, คุณสมบัติและผ่านรายการแท็กที่ตั้ง, แผนที่, และ props :






 {สาธารณะ CollectionBean ชั้น





  



 รายชื่อ <GenericService> ส่ว​​นตัว beanList;





  



 beanProps คุณสมบัติส่วนตัว;





  



 <string> beanSet เอกชนกันยายน;





  



 แผนที่ส่วนตัว <Integer, beanMap string>;





  



 / **



   



 ตรรกะทางธุรกิจ * ......................



   



 * /



	

  



 รายชื่อ <GenericService> getBeanList สาธารณะ () {



    



 beanList กลับ;



  



 }





  



 แผนที่ <Integer, สาธารณะ string> getBeanMap () {



    



 beanMap กลับ;



  



 }





  



 getBeanProps สมบัติสาธารณะ () {



    



 beanProps กลับ;



  



 }





  



 <string> ชุดสาธารณะ getBeanSet () {



    



 beanSet กลับ;



  



 }





  



 setBeanList โมฆะสาธารณะ (รายการ <GenericService> beanList) {



    



 this.beanList = beanList;



  



 }





  



 เป็นโมฆะ setBeanMap สาธารณะ (แผนที่ beanMap string> <Integer,) {



    



 beanMap this.beanMap =;



  



 }





  



 setBeanProps โมฆะสาธารณะ (beanProps คุณสมบัติ) {



    



 this.beanProps beanProps =;



  



 }





  



 setBeanSet โมฆะสาธารณะ (beanSet <string> ตั้ง) {



    



 this.beanSet = beanSet;



  



 }







 }



nell'applicationContext. XML





 <-- คอลเลกชัน Bean -->







 <bean id="collectionBean" class="it.mrwebmaster.di.collection.CollectionBean">



	

  



 <--! LIST -->



  



 name="beanList"> <property



    



 <list>



      



 bean="genericService"/> <ref

	

    



 <รายการ />



  



 </ Property>



	

  



 <--! Properties -->



  



 name="beanProps"> <property



    



 <props>



      



 <prop key="prop1"> value1 <prop />



      



 <prop key="prop2"> value2 <prop />



      



 <prop key="prop3"> Value3 <prop />



    



 </ Props>



  



 </ Property>



	

  



 <-- ชุด -->



  



 name="beanSet"> <property



    



 <SET>



      



 <value> ไป </ ค่า>



      



 <value> b </ ค่า>



    



 </> ตั้ง



  



 </ Property>



	

  



 <-- แผนที่ -->



  



 name="beanMap"> <property



    



 <map>



      



 <entry key="1" value="value1" />



    



 <แผนที่ />



  



 </ Property>







 <Bean />



มันใบผู้อ่านที่มีความลึกในประเด็นอื่น ๆ เช่นคอลเลกชันของการผสานที่ถั่วภายในและทำงานร่วมกัน

แผนที่สปริง Java
E - Learning
ลินุกซ์ (หลักสูตร) ลินุกซ์ (หลักสูตร)
คู่มือที่สมบูรณ์ในระบบเปิดแหล่งที่มา จาก 49 €
PHP (หลักสูตร) PHP (หลักสูตร)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 49 €
Ruby และ Ruby on Rails (หลักสูตร) Ruby และ Ruby on Rails (หลักสูตร)
สร้างโปรแกรมซอฟต์แวร์และเว็บด้วยทับทิมและ ร. จาก 39 €
ลิงก์ผู้สนับสนุน