1. หลักการฤดูใบไม้ผลิ
แกนกลางที่สุดคือ IOC การฉีดแบบไดนามิกทำให้ไม่จำเป็นต้องสร้างวัตถุและสามารถผลิตได้โดยอัตโนมัติ นี่คือการใช้การสะท้อนใน Java การสะท้อนกลับเป็นจริงเพื่อสร้างและเรียกวัตถุแบบไดนามิกที่รันไทม์ สปริงคือการสร้างวัตถุและวิธีการโทรแบบไดนามิกในวัตถุที่รันไทม์ด้วยไฟล์การกำหนดค่า XMLSpring
ฤดูใบไม้ผลิมีแกนอื่น AOP ซึ่งเป็นการเขียนโปรแกรมที่มุ่งเน้นด้านต่าง ๆ สามารถควบคุมและควบคุมวัตถุบางประเภท (นั่นคือเรียกโมดูลที่คุณระบุก่อนและหลังการเรียกวิธีการเฉพาะของวัตถุประเภทนี้) เพื่อให้ได้ฟังก์ชั่นของการขยายโมดูล สิ่งเหล่านี้ทำได้ผ่านคลาสการกำหนดค่า
จุดประสงค์ของฤดูใบไม้ผลิ: เพื่อให้ความสัมพันธ์ระหว่างวัตถุ (โมดูลและโมดูล) ไม่เกี่ยวข้องผ่านรหัสและได้รับการจัดการทั้งหมดผ่านคำอธิบายคลาสการกำหนดค่า (สปริงประกอบวัตถุแบบไดนามิกผ่านการสะท้อนตามการกำหนดค่าเหล่านี้)
ข้อควรจำ: ฤดูใบไม้ผลิเป็นคอนเทนเนอร์และมีเพียงวัตถุในคอนเทนเนอร์เท่านั้นที่มีบริการและฟังก์ชั่นเหล่านี้ให้โดยฤดูใบไม้ผลิ
รูปแบบการออกแบบคลาสสิกที่สุดที่ใช้ในสปริงคือ: รูปแบบวิธีการเทมเพลต (ฉันจะไม่แนะนำที่นี่มันเป็นรูปแบบการออกแบบที่ใช้กันทั่วไป) มีการกำหนดค่ามากมายในฤดูใบไม้ผลิซึ่งเป็นเรื่องยากที่จะจำได้ แต่สาระสำคัญของฤดูใบไม้ผลินั้นไม่มีอะไรมากไปกว่าสองจุดข้างต้น หลังจากทำความเข้าใจกับสองประเด็นข้างต้นคุณจะเป็นหลักในสปริง
Springaop และ IOC
1. IOC (InversionOfControl): การควบคุมการผกผัน
1. IOC:
แนวคิด: การควบคุมถูกถ่ายโอนจากวัตถุไปยังคอนเทนเนอร์ คอนเทนเนอร์สร้างอินสแตนซ์ตามไฟล์การกำหนดค่าและสร้างการพึ่งพาระหว่างแต่ละอินสแตนซ์
หลัก: โรงงานถั่ว; ในฤดูใบไม้ผลิกรณีต่าง ๆ ที่สร้างโดย Bean Factory เรียกว่าถั่ว
2. AOP (การเขียนโปรแกรมเชิงภาพ): การเขียนโปรแกรมเชิงภาพ
1. สองวิธีของพร็อกซี:
พร็อกซีแบบคงที่:
เขียนคลาสพร็อกซีสำหรับแต่ละคลาสเฉพาะ
การเขียนคลาสพร็อกซีสำหรับอินเทอร์เฟซ
พร็อกซีแบบไดนามิก:
เขียน InchocationHandler สำหรับแง่มุมหนึ่งจากนั้นยืมคลาสพร็อกซีในแพ็คเกจการสะท้อน JDK เพื่อสร้างคลาสพร็อกซีที่สอดคล้องกันแบบไดนามิกสำหรับอินเทอร์เฟซต่างๆ
2. พร็อกซีแบบไดนามิก:
ไม่จำเป็นต้องเขียนคลาสพร็อกซี เครื่องเสมือนสร้างคลาสตามอินเตอร์เฟสที่ใช้โดยวัตถุจริง มันสร้างพร็อกซีแบบไดนามิกผ่านชั้นเรียน เมื่ออินสแตนซ์พร็อกซีแบบไดนามิกวัตถุและอุปกรณ์จริงจะถูกฉีดเข้าไปในพร็อกซีแบบไดนามิก พร็อกซีแบบไดนามิกเผยให้เห็นพร็อกซีแบบไดนามิก เมื่อไคลเอนต์เรียกใช้วิธีพร็อกซีแบบไดนามิกพร็อกซีแบบไดนามิกจะได้รับวิธีการของวัตถุจริงตามการสะท้อนของคลาสเรียกใช้วิธีการเรียกใช้อุปกรณ์ของอุปกรณ์และผ่านพารามิเตอร์วิธีการและวิธีการแบบไดนามิกไปยังวิธีการเรียกใช้อุปกรณ์ วิธีการเรียกใช้การประมวลผลบางอย่างก่อนหรือหลังการกระตุ้นวิธีการ
1. คลาสที่สร้างพร็อกซีแบบไดนามิก:
java.lang.refect.Proxy
2. อุปกรณ์จะต้องใช้อินเทอร์เฟซ InvocationHandler เพื่อใช้เมธอด Invoke
3. การไตร่ตรอง
การคืนเงินของชั้นเรียนคืออะไร?
ผ่านคำอธิบายคลาสคุณสามารถรับคลาสพาเรนต์ของคลาสอินเตอร์เฟสที่ใช้งานคลาสภายในตัวสร้างวิธีการและแอตทริบิวต์ คุณสามารถสร้างอินสแตนซ์วัตถุตามตัวสร้างทำให้เกิดวิธีการใช้ค่าแอตทริบิวต์และเปลี่ยนค่าแอตทริบิวต์ วิธีรับคำอธิบายชั้นเรียน:
คลาส cls = class.class; คลาส cls = object.getClass (); class.forname ("classpath");จะได้รับวิธีการและทำให้เกิดขึ้นได้อย่างไร?
คลาส cls = class.class; constructor cons = cls.getConstructor (คลาสใหม่ [] {string.class}); Object obj = cons.newinstance (วัตถุใหม่ [] {"AAA"}); วิธีวิธี = cls.getMethod ("ชื่อวิธี", คลาสใหม่ [] {string.class, integer.class}); method.invoke (obj, วัตถุใหม่ [] {"aa", จำนวนเต็มใหม่ (1)}); 4. วิธีการฉีดสามวิธีของฤดูใบไม้ผลิคืออะไร?
ผู้ติดตั้ง
ส่วนต่อประสาน
ตัวสร้าง
5. ไฟล์การกำหนดค่าหลักและไฟล์เคอร์เนลของสปริงคืออะไร?
FactoryBean: ถั่วเป็นส่วนใหญ่ใช้ IOC/DI ApplicationContext AC = ใหม่ filexmlapplicationContext ("ApplicationContext.xml"); Object obj = ac.getBean ("ค่า id");6. 7 โมดูลของกรอบสปริง
เฟรมเวิร์ก Pring เป็นสถาปัตยกรรมแบบลำดับชั้นซึ่งประกอบด้วยโมดูลที่กำหนดไว้อย่างดี 7 โมดูล โมดูลสปริงถูกสร้างขึ้นที่ด้านบนของคอนเทนเนอร์หลักซึ่งกำหนดวิธีการสร้างถั่วกำหนดค่าและจัดการ แต่ละโมดูล (หรือส่วนประกอบ) ที่ประกอบขึ้นเป็นสปริงเฟรมเวิร์กสามารถมีอยู่คนเดียวหรือนำไปใช้ร่วมกับหนึ่งหรือมากกว่าหนึ่งโมดูล ฟังก์ชั่นของแต่ละโมดูลมีดังนี้:
คอนเทนเนอร์หลัก: คอนเทนเนอร์หลักมีฟังก์ชั่นพื้นฐานของกรอบสปริง องค์ประกอบหลักของคอนเทนเนอร์หลักคือ beanfactory ซึ่งเป็นการดำเนินการตามรูปแบบของโรงงาน BeanFactory ใช้โหมดการผกผันของการควบคุม (IOC) เพื่อแยกข้อมูลจำเพาะการกำหนดค่าและการพึ่งพาของแอปพลิเคชันจากรหัสแอปพลิเคชันจริง
บริบทของฤดูใบไม้ผลิ: บริบทสปริงเป็นไฟล์การกำหนดค่าที่ให้ข้อมูลบริบทแก่กรอบสปริง บริบทฤดูใบไม้ผลิรวมถึงบริการระดับองค์กรเช่น JNDI, EJB, อีเมล, ความเป็นสากล, ความสามารถในการจัดตารางเวลาตรวจสอบ
SPRING AOP: ผ่านคุณสมบัติการจัดการการกำหนดค่าโมดูล Spring AOP รวมฟังก์ชั่นการเขียนโปรแกรมที่มุ่งเน้นด้านตรงไปยังเฟรมเวิร์กสปริง ดังนั้นจึงเป็นเรื่องง่ายที่จะทำให้วัตถุใด ๆ ที่จัดการโดย Framework Spring Support AOP โมดูล Spring AOP ให้บริการการจัดการธุรกรรมสำหรับวัตถุในแอปพลิเคชันที่ใช้ฤดูใบไม้ผลิ โดยการใช้ Spring AOP การจัดการธุรกรรมที่ประกาศสามารถรวมเข้ากับแอปพลิเคชันโดยไม่ต้องพึ่งพาส่วนประกอบ EJB
Spring DAO: ชั้น Abstraction JDBC DAO ให้ลำดับชั้นข้อยกเว้นที่มีความหมายซึ่งสามารถใช้ในการจัดการการจัดการข้อยกเว้นและข้อความแสดงข้อผิดพลาดที่ถูกโยนทิ้งโดยผู้ขายฐานข้อมูลที่แตกต่างกัน ลำดับชั้นข้อยกเว้นทำให้การจัดการข้อผิดพลาดง่ายขึ้นและลดจำนวนรหัสข้อยกเว้นที่ต้องเขียน (เช่นการเปิดและปิดการเชื่อมต่อ) ข้อยกเว้นที่มุ่งเน้น JDBC ของ Spring DAO เป็นไปตามลำดับชั้นของ DAO ข้อยกเว้นทั่วไป
Spring ORM: Framework Spring แทรกกรอบ ORM หลายกรอบดังนั้นจึงจัดหาเครื่องมือความสัมพันธ์ Object Object ของ ORM รวมถึง JDO, Hibernate และ Map Ibatis SQL ทั้งหมดนี้ติดตามการทำธุรกรรมทั่วไปของฤดูใบไม้ผลิและลำดับชั้นของ DAO ข้อยกเว้น
สปริงเว็บโมดูล: โมดูลบริบทของเว็บถูกสร้างขึ้นบนโมดูลบริบทของแอปพลิเคชันและให้บริบทสำหรับแอปพลิเคชันบนเว็บ ดังนั้น Framework Spring จึงสนับสนุนการรวมเข้ากับ Struts จาการ์ตา โมดูลเว็บยังช่วยลดความซับซ้อนของการจัดการคำขอหลายส่วนและพารามิเตอร์การร้องขอที่มีผลผูกพันกับวัตถุโดเมน
Spring MVC Framework: MVC Framework เป็นการใช้งาน MVC ที่ใช้งานได้อย่างสมบูรณ์สำหรับการสร้างเว็บแอปพลิเคชัน ผ่านอินเทอร์เฟซนโยบายเฟรมเวิร์ก MVC จะสามารถกำหนดค่าได้สูงและ MVC มีเทคโนโลยีมุมมองจำนวนมากรวมถึง JSP, ความเร็ว, กระเบื้อง, ITEXT และ POI
ความสามารถของสปริงเฟรมเวิร์กสามารถใช้ในเซิร์ฟเวอร์ J2EE ใด ๆ และส่วนใหญ่เหมาะสำหรับสภาพแวดล้อมที่ไม่มีการจัดการ จุดหลักของฤดูใบไม้ผลิคือ: สนับสนุนวัตถุธุรกิจและการเข้าถึงข้อมูลที่สามารถนำกลับมาใช้ใหม่ได้ซึ่งไม่ผูกพันกับบริการ J2EE ที่เฉพาะเจาะจง ไม่ต้องสงสัยเลยว่าวัตถุดังกล่าวสามารถนำกลับมาใช้ใหม่ระหว่างสภาพแวดล้อม J2EE ที่แตกต่างกัน (เว็บหรือ EJB) แอปพลิเคชันแบบสแตนด์อโลนสภาพแวดล้อมการทดสอบ
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการสำรวจหลักการทำงานที่เรียบง่ายของฤดูใบไม้ผลิฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงเว็บไซต์นี้ต่อไปได้:
Spring Framework Web Project การแบ่งปันรหัสปฏิบัติ
คำอธิบายการกำหนดค่าและการวิเคราะห์ทั่วไปของฤดูใบไม้ผลิ
การเขียนโปรแกรม Java ของตัวอย่างการเข้าสู่ระบบ SpringMVC Simple Login
หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!