..
ภาชนะ IoC ของฤดูใบไม้ผลิเป็นส่วนหนึ่งที่เกี่ยวกับการยกตัวอย่างและกำหนดค่าวัตถุที่วางอยู่ในนั้นซึ่งจะเรียกว่าถั่ว
ถั่วที่มีการกำหนดค่าผ่านทางเมตาดาต้าที่สามารถไฟล์ XML หรือ คำอธิบายประกอบ Java . โดยค่าเริ่มต้น metadata ที่จะถูกอ่านโดยเฉพาะ XML เพื่อให้สามารถใช้บันทึกย่อที่ต้องกำหนดค่า ApplicationContext
เป็นที่กล่าวถึงก่อนหน้านี้บทบาทของ DI และ IoC จะดำเนินการผ่าน BeanFactory และ ApplicationContext
ระบุว่า ApplicationContext เป็น superset ของ BeanFactory นั้นจะแนะนำและจากนี้ไปเราจะดูเฉพาะ all'ApplicationContext
มีหลายประเภทโดยสปริง ApplicationContext จะขึ้นอยู่กับโปรแกรมที่จะต้องพัฒนา
ตัวอย่างเช่นสำหรับ stand alone โปรแกรมและเราเป็น ClassPathXmlApplicationContext FileSystemXmlApplicationContext ในขณะที่สำหรับใช้งานขององค์กรเป็น WebApplicationContext ซึ่งเป็น instantiated ผ่านฟัง serlvet
ทั้งหมดที่พวกเขาต้องการข้อมูลการตั้งค่า ApplicationContext และจากนั้นเราจำเป็นต้องยกตัวอย่างแรกที่จะเขียนไฟล์ xml
ลองมาตัวอย่างที่เคยใช้เป็นข้อมูลอ้างอิงในการบริหารจัดการของวิดีโอที่เราจะเห็นวิธีการเริ่มต้นการเรียนและ IoC VideoManager
ครั้งแรกที่เราสร้างเมตาดาต้าผ่านเรียกไฟล์ applicationContext.xml :
<beans xmlns="http://www.springframework.org/schema/beans" ............>
<--! นำเข้าและข้อมูลอื่น ๆ -->
resource="otherbeans.xml"/> <import
<--! นิยามการให้บริการ -->
<bean id="dvdService" class="it.mrwebmaster.DvdServiceImpl" scope="singleton" />
<--! MANAGER วิดีโอความละเอียด -->
<bean id="videoManager" class="it.mrwebmaster.VideoManager" scope="prototype">
<property name="dvdService" ref="dvdService" />
<Bean />
</ ถั่ว>
ตัวอย่างที่แสดงให้เห็นว่ามันเป็นไปได้ที่จะรวมข้อมูลหลายแฟ้มนิยามที่กำหนดไว้ในคำสั่งที่จะแบ่งถั่ว
ปัจจุบันมันเป็นสิ่งสำคัญที่จะเข้าใจไวยากรณ์ของเมตาดาต้า (ซึ่งจะกล่าวในภายหลัง) แต่ที่มีศักยภาพของฤดูใบไม้ผลิ
กำจัดจาก constructor ชั้นที่จะเริ่มต้น dvdService VideoManager และสร้าง getter และ setter สำหรับ dvdService ที่ :
VideoManager สาธารณะ () {
super ();
}
<Dvd> getAvalaibleDvdList รายการสาธารณะ () {
//......
กลับ availabeDvdList;
}
setDvdService โมฆะสาธารณะ (DvdService dvdService) {
this.dvdService dvdService =;
}
getDvdService DvdService สาธารณะ () {
กลับ dvdService;
}
ตอนนี้ขอดูวิธีการเริ่มต้น IoC ที่ :
/ **
* * * * Instanz ภาชนะ IoC
* * * * /
ApplicationContext ApplicationContext ใหม่ = ClassPathXmlApplicationContext ("applicationContext.xml");
/ **
* * * * เรียก VideoManager ชั้นเรียน
* * * * /
VideoManager VideoManager = (VideoManager) applicationContext.getBean ("VideoManager");
/ **
* * * * พิมพ์รายชื่อของแผ่นดีวีดีที่สามารถใช้ได้
* * * * /
รายการ <Dvd> avalaibleDvdList videoManager.getAvalaibleDvdList = ();
สำหรับ (DVD DVD : avalaibleDvdList) {
System.out.println (dvd.getTitolo ());
}
ที่เราได้เห็นการเขียนไม่กี่บรรทัดของรหัส XML และเราสามารถที่จะกำหนดค่าโปรแกรมประยุกต์ที่สมบูรณ์ของเรา
ข้อดีของการใช้ฤดูใบไม้ผลิซึ่งได้รับการอธิบายไว้ในบทก่อนหน้าขาออก :

อีกครั้งหมายถึงตัวอย่างที่เราสามารถใช้ FileSystemXmlApplicationContext เช่นนี้ :
ApplicationContext ApplicationContext FileSystemXmlApplicationContext = ใหม่ ("/ path / applicationContext.xml");
แทนการใช้ WebApplicationContext ในใบสมัครขององค์กรที่คุณจะต้องเพิ่มใน web.xml ของเรา (เป็นตัวอย่างที่สมบูรณ์ของโปรแกรมประยุกต์ขององค์กรที่ใช้สปริง illutrato จะเป็นบทสุดท้ายของคู่มือนี้) :
<--! Spring --> <context-param> contextConfigLocation <param-name> </ พระรามชื่อ -> <param-value> classpath * * * * : applicationContext.xml </ พระรามค่า> </ บริบทพระราม -> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </ ฟังระดับ> <ฟัง />
| |
ลินุกซ์ (หลักสูตร)
คู่มือที่สมบูรณ์ในระบบเปิดแหล่งที่มา เริ่มต้นจาก 49 € |
| |
PHP (หลักสูตร)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก เริ่มต้นจาก 49 € |
| |
Ruby และ Ruby on Rails (หลักสูตร)
การสร้างโปรแกรมประยุกต์ซอฟต์แวร์และเว็บที่มีทับทิมและ ร. เริ่มต้นจาก 39 € |