ผ่านบทความนี้ฉันจะแนะนำวิธีการหลายวิธีในการสร้างอินสแตนซ์ถั่วในฤดูใบไม้ผลิผ่านรหัสตัวอย่าง มาดูเนื้อหาเฉพาะ
1. ใช้ตัวสร้างคลาสเพื่อใช้อินสแตนซ์ (ตัวสร้างของถั่วเอง)
<Bean ID = "OrderService"/> >>
2. ใช้วิธีการแบบคงที่จากโรงงานเพื่อให้ได้อินสแตนซ์
<Bean ID = "PersonService" class = "CN.Itcast.orderFactory" โรงงาน-เมทอด = "createOrder"/> คลาสสาธารณะ OrderFactory {private orderfactory orderFactory = new OrderFactory (); Private OrderFactory (); Public Static OrderFactory createOrder () {return orderFactory; -3. ใช้วิธีการสร้างอินสแตนซ์โรงงานเพื่อให้ได้อินสแตนซ์ (ผ่านถั่วของหน่วยงานอื่น ๆ )
<Bean ID = "PersonServiceFactory" class = "cn.itcast.service.orderfactory"/> <bean id = "Persionservice" โรงงาน Bean = "PersonserviceFactory" Material-method = "CreateOrder"/> Public Class OrderFactory Private OrderFactory (); คำสั่งคงที่สาธารณะ createorderserviceBean {return orderervice; -เรามักจะเรียก beanfactory หรือ applicationcontext ที่รับผิดชอบในการโหลดถั่วสปริงถั่ว ทั้งสองถูกโหลดด้วยถั่วผ่านไฟล์กำหนดค่า XML เมื่อเทียบกับ ApplicationContext และ Beanfacotry ความแตกต่างที่สำคัญคือ beanfacotry นั้นขี้เกียจกำลังโหลดและถั่วที่จะสร้างอินสแตนซ์เมื่อเรียกว่า () หากไม่สามารถฉีดแอตทริบิวต์บางอย่างของถั่วได้ข้อยกเว้นจะถูกโยนในเวลานี้ และ ApplicationContext เริ่มต้นเพื่อสร้างอินสแตนซ์ถั่วทั้งหมดเมื่อเริ่มต้นเองเว้นแต่ว่า Lazy-init = "true" ถูกตั้งค่าเป็นถั่วซึ่งเอื้อต่อการตรวจสอบว่าสามารถฉีดแอตทริบิวต์การพึ่งพาได้หรือไม่
นอกจากนี้ ApplicationContext ยังมีฟังก์ชั่นการขยายเพิ่มเติมเช่นการประมวลผลระหว่างประเทศของไฟล์ทรัพยากรที่จะโหลดและการประมวลผลของ beanpostprocessor ดังนั้นในแอปพลิเคชัน J2EE เรามักจะเลือกใช้ ApplicationContext ไม่ว่าจะใช้ beanfactory หรือ applicationcontext สปริงเริ่มต้นถั่วในซิงเกิลโดยค่าเริ่มต้น
สำหรับการเริ่มต้นของ beanfactory มักใช้รหัสต่อไปนี้:
ทรัพยากร classpathresource = ใหม่ classpathresource ("beans.xml"); beanfactory factory = ใหม่ xmlbeanfactory (ทรัพยากร);สำหรับการเริ่มต้นของ ApplicationContext มักจะกำหนดค่าใน web.xml:
<context-Param> <param-Name> contextConfigLocation </param-name> <param-value> classpath: conf/appcontext.xml </param-value> </context-param>
สรุป
ข้างต้นเป็นคำอธิบายโดยละเอียดทั้งหมดของรหัสของถั่วอินสแตนติสฤดูใบไม้ผลิ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!