1. ฤดูใบไม้ผลิคืออะไร?
Spring เป็นเฟรมเวิร์กคอนเทนเนอร์ Inversion of Control (IoC) และ Aspect-Oriented (AOP) แบบน้ำหนักเบา
2. จะรับ bean ที่กำหนดค่าโดย Spring ในโปรแกรมได้อย่างไร?
วิธีที่ 1: บันทึกวัตถุ ApplicationContext ในระหว่างการเตรียมใช้งาน
รหัส:
คัดลอกรหัสรหัส ดังต่อไปนี้:
ApplicationContext ac = FileSystemXmlApplicationContex ใหม่ ("applicationContext.xml");
ac.getBean("beanId");
หมายเหตุ: วิธีการนี้เหมาะสำหรับแอปพลิเคชันอิสระที่ใช้ Spring Framework และต้องการให้โปรแกรมเริ่มต้น Spring ด้วยตนเองผ่านไฟล์การกำหนดค่า
วิธีที่ 2: รับวัตถุ ApplicationContext ผ่านคลาสเครื่องมือที่ Spring เตรียมไว้ให้
รหัส:
คัดลอกรหัสรหัส ดังต่อไปนี้:
นำเข้า org.springframework.web.context.support.WebApplicationContextUtils;
ApplicationContext ac1 = WebApplicationContextUtils
.getRequiredWebApplicationContext (ServletContext sc)
ApplicationContext ac2 = WebApplicationContextUtils
.getWebApplicationContext(ServletContext sc)
ac1.getBean("beanId");
ac2.getBean("beanId");
วิธีที่ 3: สืบทอดมาจากคลาสนามธรรม ApplicationObjectSupport
หมายเหตุ: คลาสนามธรรม ApplicationObjectSupport จัดเตรียมเมธอด getApplicationContext() ซึ่งสามารถรับ ApplicationContext ได้อย่างง่ายดาย เมื่อเริ่มต้น Spring วัตถุ ApplicationContext จะถูกฉีดผ่านเมธอด setApplicationContext (บริบท ApplicationContext) ของคลาสนามธรรม
วิธีที่ 4: สืบทอดมาจากคลาสนามธรรม WebApplicationObjectSupport
หมายเหตุ: คล้ายกับวิธีที่สาม ให้เรียก getWebApplicationContext() เพื่อรับ WebApplicationContext
วิธีที่ห้า: ใช้อินเทอร์เฟซ ApplicationContextAware
คำอธิบาย: ปรับใช้เมธอด setApplicationContext (ApplicationContext context) ของอินเทอร์เฟซนี้ และบันทึกออบเจ็กต์ ApplicationContext เมื่อเตรียมใช้งาน Spring วัตถุ ApplicationContext จะถูกฉีดด้วยวิธีนี้