..


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

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

ตอนนี้ขอดูโดยการตัวอย่างเช่นวิธีการใช้ฉีดพึ่งพา constructor
เราสร้างถั่วของเราที่ขึ้นอยู่กับบริการทั่วไปที่ :






 แพคเกจ it.mrwebmaster.di.constructor;









 สาธารณะ Bean คลาส {





  



 genericService GenericService เอกชน



	

  



 beanName String เอกชน;





  



 / **



   



 ผู้ผลิต *



   



 * genericService @ Param



   



 * beanName @ Param



   



 * /



  



 สาธารณะ Bean (GenericService genericService, String beanName) {



    



 super ();



    



 this.genericService = genericService;



    



 this.beanName = beanName;



  



 }



	

  



 / **



   



 * วิธีการสาธารณะ



   



 * /



  



 ประชาชนเป็นโมฆะ doit () {



    



 System.out.println (beanName +"ทำอะไร");



    



 genericService.dosomething ();



  



 }



	





 }



การกำหนดค่าการพึ่งพา nell'applicationContext. XML





 <bean id="genericService" class="it.mrwebmaster.di.constructor.GenericServiceImpl" scope="singleton" />









 <bean id="constructorBean" class="it.mrwebmaster.di.constructor.bean">



  



 value="beanName"/> <constructor-arg



  



 ref="genericService"/> <constructor-arg







 <Bean />



ที่สามารถเห็นได้จากตัวอย่างที่จะใช้ฉีดพึ่งพา constructor ต้องใช้การสร้างแท็ก Arg ใช้อ้างอิงหรือแอตทริบิวต์ค่า Ref Attibassi ต้องผ่านการเป็น Arg instantiated แล้ว nell'IoC อื่นภาชนะถั่วในขณะที่ค่าแอตทริบิวต์ที่ใช้ในการส่งผ่านค่าเริ่มต้นเป็นสตริงหรือตัวเลข

ในตัวอย่างสร้างคลาสที่ยอมรับเป็น input ถั่ว GenericService และสตริง แต่ตัวอย่างที่เขาต้องการที่จะกลับคำสั่งของการขัดแย้งเพื่อแสดงวิธีการฤดูใบไม้ผลิรวมอาร์กิวเมนต์ตามประเภทของตน
ประเภทของพฤติกรรมนี้จะปรับเมื่ออาร์กิวเมนต์ทั้งหมดเป็นประเภทแตกต่างกัน แต่ทำอย่างไรเราระบุลำดับถ้าอาร์กิวเมนต์เป็นชนิดเดียวกันหรือไม่ คอนสตรัคแท็ก Arg - ให้คุณลักษณะดัชนีที่บ่งชี้ลำดับในฤดูใบไม้ผลิด้วยซึ่งในการส่งผ่านพารามิเตอร์






 <bean id="constructorBean" class="it.mrwebmaster.di.constructor.bean">



  



 <constructor-arg value="beanName" index="1" />



  



 <constructor-arg ref="genericService" index="0" />







 <Bean />



กรณีอื่นอาจจะเป็นอย่างใดอย่างหนึ่งซึ่งคลุมเครือใน construttore ยอมรับเป็น input สองพารามิเตอร์ที่สามารถทั้งสองจะแสดงโดยสตริงตัวอย่างเช่น






 สาธารณะ Bean (GenericService genericService, String beanName, invocationTimes Integer) {



  



 super ();



  



 this.genericService = genericService;



  



 this.beanName = beanName;



  



 this.invocationTimes invocationTimes =;







 }



และ nell'applicationContext. XML





 <bean id="constructorBean2" class="it.mrwebmaster.di.constructor.bean">



  



 <constructor-arg value="0" />



  



 <constructor-arg value="beanName" />



  



 <constructor-arg ref="genericService" />







 <Bean />



ในกรณีนี้ฤดูใบไม้ผลิจากความผิดพลาดเป็น"0"สามารถเป็นได้ทั้งสตริงหรือตัวเลข เมื่อต้องการแก้ไขปัญหานี้ให้ใช้ดัชนีหรือ attriburo ประเภทแอตทริบิวต์เช่นนี้





 <bean id="constructorBean2" class="it.mrwebmaster.di.constructor.bean">



  



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



  



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



  



 <constructor-arg ref="genericService" />







 <Bean />



สร้างคุณลักษณะ Arg - นอกจากนี้ยังสามารถใช้ในการผ่านพารามิเตอร์ไปยังวิธีการที่โรงงานที่ :






 สาธารณะคงถั่ว createBean (GenericService genericService, String beanName, invocationTimes Integer) {



  



 Bean B = ใหม่ Bean (genericService, beanName, invocationTimes);



  



 / / อย่า somethig .......



  



 กลับ b;







 }



nell'applicationContext. XML





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



  



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



  



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



  



 <constructor-arg ref="genericService" />







 <Bean />



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