..


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

คอนเทนเนอร์หลัก -- ถั่วฤดูใบไม้ผลิ

ในส่วนนี้เราจะวิเคราะห์การกำหนดค่าผ่านทางเมตาดาต้า IOC ภาชนะ XML
สำหรับถั่ว instazionare nell'IoC contanier พอสำหรับเราเพียงสอง infomarzioni :

  • ชื่อที่มีคุณสมบัติของคลาสที่วัตถุเป็นสมาชิกของ
  • ID ที่ไม่ซ้ำจะกำหนดให้ถั่วในบริบท
ตัวอย่าง :





 <beans id="myBean" class="com.MyClass"/>









 class="com.MyClass1"/> <beans



ตัวอย่างที่สองจงใจละเว้นแอตทริบิวต์ ID ที่เพราะถ้าคุณไม่ได้ระบุว่าสร้างแบบสุ่มฤดูใบไม้ผลิ แต่ก็ขอแนะนำให้คุณอยู่เสมอระบุ ID เพื่อให้คุณสามารถอ้างอิงถั่วในกรณีที่จำเป็น ถั่วสามารถมีได้หลายตัวระบุที่สามารถเพิ่มชื่อผ่านคุณสมบัติหรือโดยการแท็กนามแฝง :
 



 <beans id="myBean" class="com.MyClass" name="alias1 alias2" />

 
หรือ
 



 <alias name="myBean" alias="alias1" />

 

เพื่อ instantiate ถั่วฤดูใบไม้ผลิที่ใช้สามวิธีการ :

  • ผ่านผู้ผลิต
  • โดยวิธีการโรงงาน
  • ผ่านโรงงานถั่ว
หากคุณไม่ได้ระบุวิธีการ instantiate ถั่วที่เป็นฤดูใบไม้ผลิจะใช้ constructor เริ่มต้นเพื่อให้ถั่วจะต้องมี construttore เริ่มต้น (ภายหลังเราจะเห็นว่าถั่ว instantiated การใช้ constructor กับพารามิเตอร์)
ถ้าคุณต้องการที่จะใช้วิธีการที่โรงงานซึ่งเป็นปกติของ เดี่ยว คุณจะต้องใช้คุณลักษณะวิธีการ - โรงงาน





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





  



 อินสแตนซ์แบบคงที่ส่วนตัวใหม่ = FactoryMethodBean FactoryMethodBean ();





  



 FactoryMethodBean เอกชน () {}





  



 สาธารณะคง FactoryMethodBean getInstance () {



    



 กลับเช่น;



  



 }









 }



และ nell'applicationContext. XML
 



 <bean id="factoryMethodExample" class="it.mrwebmaster.singleton.FactoryMethodBean" factory-method="getInstance"/>

 

วิธีการล่าสุดของ instantiation ใช้นอกเหนือไปจากวิธีการที่โรงงานที่เป็นโรงงานถั่วซึ่งเป็นปกติของ การให้บริการอินเทอร์เน็ต .






 FactoryBean {class สาธารณะ





  



 ส่วนตัวอดีต ExampleBean;





  



 สาธารณะ FactoryBean () {



    



 super ();



    



 อดีต ExampleBeanImpl = ใหม่ ();



  



 }





  



 สาธารณะ ExampleBean getExampleBean () {



    



 กลับ Ex;



  



 }









 }



และ nell'applicationContext. XML





 <bean id="factoryBean" class="it.mrwebmaster.factory.FactoryBean" />









 <bean id="exampleBean" class="it.mrwebmaster.factory.ExampleBean" factory-bean="factoryBean" factory-method="getExampleBean"/>



ขอบเขต

คุณสมบัติที่สำคัญของถั่วเป็นขอบเขตที่กำหนดวงจรชีวิตของมัน ฤดูใบไม้ผลิสนับสนุนห้าชนิดของขอบเขต :

  • Singleton, สร้างอินสแตนเดียวของถั่วในภาชนะที่ใช้ร่วมกันโดยทุกถั่วอื่น ๆ
  • ต้นแบบซึ่งจำเป็นต้องมีทุกครั้งโดยเฉพาะถั่วจะถูก instantiated ใหม่เช่นถั่วอื่น ๆ ที่หมายถึงถั่วต้นแบบขอบเขตจะมีอินสแตนซ์ของตัวเอง
  • การร้องขอสำหรับแต่ละคำขอ HTTP จะถูกสร้างอินสแตนซ์ของถั่วนี้
  • ระยะเวลาสำหรับแต่ละช่วง http ถูกสร้างอินสแตนซ์ของถั่วนี้
  • เซสชั่นทั่วโลกควรใช้เฉพาะในการใช้งานที่ทำให้การใช้พอร์ตเล็ตที่มีอยู่ในแนวคิดของการใช้ทั่วโลกระหว่างพอร์ตเล็ตต่างๆ

เดี่ยวและขอบเขตต้นแบบที่ใช้ได้สำหรับทุก ApplicationContext ตามคำขอเซสชั่นเซสชั่นทั่วโลกและถูกต้องเท่านั้นสำหรับ WebApplicationContext

ถ้าแอตทริบิวต์ขอบเขตไม่ได้ระบุถั่วที่กลายเป็นขอบเขตเดี่ยวตามค่าเริ่มต้น

นอกจากนี้ในขอบเขตเหล่านี้มีอยู่หก แต่ด้ายขอบเขตไม่ได้เปิดใช้ตามค่าเริ่มต้น ในฤดูใบไม้ผลิคุณสามารถสร้างขอบเขตที่กำหนดเอง แต่ที่เหลือให้ผู้อ่านที่ระดับความลึกของหัวข้อนี้

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