คำถามสัมภาษณ์ MVC ฤดูใบไม้ผลิ 80 อันดับแรก (2025)
ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ Spring MVC สำหรับผู้สมัครที่มีประสบการณ์และใหม่กว่าเพื่อให้ได้งานในฝัน
คำถามและคำตอบสัมภาษณ์ Spring MVC สำหรับนักศึกษาใหม่
1) สปริงคืออะไร?
Spring ถูกตั้งค่าให้เป็น Framework ที่ช่วย Java โปรแกรมเมอร์สำหรับการพัฒนาโค้ดและมีคอนเทนเนอร์ IOC, Dependency Injector, MVC flow และ API อื่นๆ มากมายสำหรับโปรแกรมเมอร์ Java
2) คำแนะนำในฤดูใบไม้ผลิคืออะไร?
เป็นการดำเนินการด้านหนึ่ง คำแนะนำก็เหมือนกับการทำให้แอปพลิเคชันของคุณเรียนรู้เคล็ดลับใหม่ มักจะแนะนำที่จุดร่วม
👉 ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ Spring MVC Framework
3) ขอบเขตเริ่มต้นของ bean ใน Spring Framework คืออะไร?
ขอบเขตเริ่มต้นของ bean คือ Singleton สำหรับ Spring Framework
4) ตั้งชื่อประเภทของการจัดการธุรกรรมที่ Spring รองรับหรือไม่
การจัดการธุรกรรมที่รองรับโดย Spring คือ:
- การจัดการธุรกรรมที่เปิดเผย
- การจัดการธุรกรรมแบบเป็นโปรแกรม
5) Singleton beans ปลอดภัยสำหรับเธรดใน Spring Framework หรือไม่
ไม่ singleton bean ไม่ปลอดภัยต่อเธรดใน Spring Framework
6) Spring Framework มีประโยชน์อย่างไร?
ต่อไปนี้เป็นประโยชน์ของ กรอบสปริง:
- การใช้งานส่วนประกอบอย่างกว้างขวาง
- ความสามารถในเรอุส
- decoupling
- ลดความพยายามในการเขียนโค้ดโดยใช้รูปแบบการใช้งาน เช่น ซิงเกิลตัน โรงงาน ตัวระบุตำแหน่งบริการ ฯลฯ
- การกำจัดการเชื่อมต่อที่รั่วไหล
- การจัดการธุรกรรมที่เปิดเผย
- ง่ายต่อการรวมเข้ากับเครื่องมือและเทคโนโลยีของบุคคลที่สาม
7) โรงงานถั่วคืออะไร?
Bean Factory เป็นแกนหลักของเฟรมเวิร์กสปริงและเป็นคอนเทนเนอร์น้ำหนักเบาที่โหลดคำจำกัดความของ bean และจัดการถั่วของคุณ Beans ได้รับการกำหนดค่าโดยใช้ไฟล์ XML และจัดการ bean ที่กำหนดแบบซิงเกิลตัน นอกจากนี้ยังรับผิดชอบวิธีวงจรชีวิตและการฉีดการขึ้นต่อกัน นอกจากนี้ยังลบซิงเกิลตันและโรงงานเฉพาะกิจด้วย
8) กำหนดการเดินสายไฟ Bean?
การเดินสายไฟแบบ Bean คือการสร้างความสัมพันธ์ระหว่างส่วนประกอบการใช้งานที่อยู่ระหว่างถั่วในภาชนะสปริงเฉพาะ
9) Spring MVC เรียกว่าอะไร?
Spring MVC เป็นอินสแตนซ์คอนโทรลเลอร์ที่ใช้ร่วมกันเพียงตัวเดียว และใช้เพื่อจัดการคอนโทรลเลอร์ประเภทคำขอ ซึ่งเป็นตัวดักที่ทำงานในคอนเทนเนอร์ IoC นอกจากนี้ยังอนุญาตให้ใช้ Dispatcher Servlets หลายตัวซึ่งสามารถแชร์อินเทอร์เฟซบริบทของแอปพลิเคชัน แต่ไม่ใช่อินเทอร์เฟซตามคลาส
10) เหตุใดจึงจำเป็นต้องมี Spring Framework?
จำเป็นต้องมี Spring Framework เนื่องจากเป็น –
- ภาชนะน้ำหนักเบามาก
- กรอบ
- IOC
- อภ
11) ตั้งชื่อโมดูลต่าง ๆ ที่ใช้ใน Spring Framework หรือไม่?
- โมดูล AOP (การเขียนโปรแกรมเชิงมุมมอง)
- นามธรรม JDBC และโมดูล DAO
- โมดูลคอนเทนเนอร์หลัก
- โมดูลเฟรมเวิร์ก MVC
- โมดูลบริบทของแอปพลิเคชัน
- โมดูลการรวมการทำแผนที่ O/R (วัตถุ/เชิงสัมพันธ์)
- โมดูลเว็บ
12) อธิบาย RowCallbackHandler ใน Spring หรือไม่
RowCallbackHandler ถูกเรียกสำหรับแต่ละแถวใน ResultSet และใช้ในการอ่านค่าจาก ResultSet
13) กำหนดโมดูลบริบทของแอปพลิเคชัน?
นี่เป็นโมดูลที่สำคัญมากและให้บริการที่จำเป็นต่างๆ เช่น การรวม EJB, ระยะไกล, การเข้าถึง JNDI และกำหนดเวลา มันเปลี่ยนสปริงให้เป็นกรอบ นอกจากนี้ยังขยายแนวคิดของ BeanFactory ด้วยการประยุกต์ใช้เหตุการณ์วงจรชีวิต โดยให้การสนับสนุนข้อความที่เป็นสากลและการตรวจสอบความถูกต้อง
14) เขียนเกี่ยวกับโมดูล AOP หรือไม่
โมดูล AOP ใช้สำหรับสร้างแง่มุมสำหรับแอปพลิเคชัน Spring นอกจากนี้ยังรองรับการเขียนโปรแกรมเมตาดาต้าใน Spring อีกด้วย
15) อินเทอร์เฟซ BeanFactory คืออะไร
อินเทอร์เฟซของโรงงาน Bean ใช้เพื่อจัดเตรียมเฟรมเวิร์กการกำหนดค่าสำหรับการสร้างออบเจ็กต์และฟังก์ชันพื้นฐานเกี่ยวกับการจัดการออบเจ็กต์
16) ระบุความแตกต่างระหว่าง ApplicationContext และ BeanFactory ในฤดูใบไม้ผลิหรือไม่
- ApplicationContext อนุญาตให้มีไฟล์กำหนดค่ามากกว่าหนึ่งไฟล์ ในขณะที่ BeanFactory อนุญาตเพียงไฟล์เดียวเท่านั้น
- ApplicationContext สามารถพิมพ์เหตุการณ์ไปยัง bean ที่ลงทะเบียนเป็นผู้ฟังได้ BeanFactory ไม่รองรับฟีเจอร์นี้
- ApplicationContext ยังให้การสนับสนุนสำหรับการประยุกต์ใช้เหตุการณ์วงจรชีวิต ข้อความการทำให้เป็นสากล และการตรวจสอบ และยังให้บริการต่างๆ เช่น การรวม EJB ระยะไกล การเข้าถึง JNDI และกำหนดเวลา Bean Factory ไม่รองรับคุณสมบัติเหล่านี้เช่นกัน
17) การเดินสายไฟอัตโนมัติคืออะไร?
การเชื่อมต่ออัตโนมัติใช้เพื่อสร้างความสัมพันธ์ระหว่างบีนที่ทำงานร่วมกัน คอนเทนเนอร์ Spring สามารถระบุผู้ทำงานร่วมกันสำหรับบีนได้โดยอัตโนมัติ
18) การเดินสายไฟอัตโนมัติมีโหมดใดบ้าง?
การเดินสายอัตโนมัติมีห้าโหมดที่แตกต่างกัน:
- ไม่: ไม่มีสายอัตโนมัติ
- โดยชื่อ: การเดินสายอัตโนมัติที่สามารถทำได้โดยใช้ชื่อคุณสมบัติ
- โดยประเภท: ประเภทคุณสมบัติเป็นสายอัตโนมัติ
- ตัวสร้าง: มันคล้ายกับ byType และเป็นคุณสมบัติที่อยู่ในตัวสร้าง
- ตรวจจับอัตโนมัติ: สปริงได้รับอนุญาตให้เลือกการเดินสายอัตโนมัติจาก byType หรือตัวสร้าง
19) จะเริ่มใช้สปริงได้อย่างไร?
ต้องดำเนินการตามขั้นตอนต่อไปนี้เพื่อเริ่มต้นด้วย Spring:
- ดาวน์โหลด Spring และไฟล์ที่ต้องพึ่งพาจากเว็บไซต์ของ spring
- สร้างบริบทแอปพลิเคชัน xml เพื่อกำหนด bean และการขึ้นต่อกัน
- รวมบริบทแอปพลิเคชัน xml เข้ากับ web.xml
- ปรับใช้และเรียกใช้แอปพลิเคชัน
20) วงจรชีวิตของถั่วมีกี่วิธี?
วงจรชีวิตของ Bean มีสองวิธีที่สำคัญ:
- การตั้งค่า - เรียกเมื่อมีการโหลดถั่วลงในคอนเทนเนอร์
- Teardown – เรียกเมื่อมีการขนถั่วลงภาชนะ
21) เหตุการณ์ประเภทต่างๆ ของผู้ฟังมีอะไรบ้าง?
ต่อไปนี้เป็นประเภทเหตุการณ์ที่แตกต่างกันของผู้ฟัง:
- ContextClosedEvent – เหตุการณ์นี้จะถูกเรียกเมื่อบริบทถูกปิด
- บริบทRefreshedEvent – เหตุการณ์นี้เรียกว่าเมื่อมีการเตรียมใช้งานหรือรีเฟรชบริบท
- RequestHandledEvent – เหตุการณ์นี้ถูกเรียกเมื่อบริบทของเว็บจัดการคำขอ
22) แยกความแตกต่างระหว่าง singleton และต้นแบบ bean หรือไม่?
Singleton หมายถึงมีการกำหนด bean เพียงอันเดียวต่ออินสแตนซ์ของวัตถุ ในขณะที่ Prototype หมายถึงหนึ่งคำจำกัดความสำหรับอินสแตนซ์ของวัตถุมากกว่าหนึ่งรายการใน Spring
23) Dependency Injection มีกี่ประเภท?
การฉีดขึ้นต่อกันสองประเภทได้รับการสนับสนุนโดยเฟรมเวิร์กสปริง:
- การฉีดเซตเตอร์
- คอนสตรัคอินเจ็คชั่น
24) เขียนเกี่ยวกับโมดูลคอนเทนเนอร์หลักหรือไม่
โมดูลคอนเทนเนอร์หลักมีหน้าที่รับผิดชอบในการทำงานพื้นฐานของเฟรมเวิร์กสปริง Spring Framework ทั้งหมดถูกสร้างขึ้นโดยมีโมดูลนี้เป็นฐาน
25) โมดูล AOP คืออะไร?
โมดูล AOP นี้ใช้สำหรับแอปพลิเคชันที่รองรับ Spring มีการให้การสนับสนุน AOP Alliance เพื่อให้แน่ใจว่า Spring และเฟรมเวิร์ก AOP อื่นๆ สามารถทำงานร่วมกันได้
โดยสั่งให้ Spring เพิ่มคำอธิบายประกอบให้กับซอร์สโค้ดและบอกวิธีใช้แง่มุมต่างๆ
คำถามสัมภาษณ์ Spring MVC สำหรับผู้มีประสบการณ์
26) AOP Alliance คืออะไร?
AOP alliance คือโครงการโอเพ่นซอร์สที่มุ่งส่งเสริมการนำ AOP มาใช้ เป้าหมายของ AOP alliance คือการกำหนดชุดส่วนประกอบและอินเทอร์เฟซทั่วไปเพื่อปรับปรุงการทำงานร่วมกันระหว่างการใช้งาน AOP ที่แตกต่างกัน
27) ไฟล์กำหนดค่าสปริงเรียกว่าอะไร?
ไฟล์การกำหนดค่า Spring เป็นไฟล์ XML และมีข้อมูลคลาส นอกจากนี้ยังอธิบายถึงวิธีการกำหนดค่าคลาสเหล่านี้และการโต้ตอบระหว่างกัน
28) Autowire มีกี่ประเภท?
ลวดอัตโนมัติมีสี่ประเภทที่แตกต่างกัน:
- โดยชื่อ
- โดยประเภท
- นวกรรมิก
- Autodetect
29) การจัดการธุรกรรมประเภทใดบ้างที่สปริงรองรับ?
ต่อไปนี้เป็นประเภทของการจัดการธุรกรรมที่ได้รับการรองรับโดยสปริง:
- ที่เปิดเผย
- โดยทางโปรแกรม
30) การจัดการธุรกรรมแบบประกาศและแบบเป็นโปรแกรมจะใช้เมื่อใด
หากมีการดำเนินการธุรกรรมเพียงเล็กน้อย แนะนำให้ใช้การจัดการธุรกรรมแบบโปรแกรม แต่หากมีการดำเนินการธุรกรรมจำนวนมากที่ต้องดูแล ควรใช้การจัดการธุรกรรมแบบประกาศ
31) ไอโอซีคืออะไร?
IOC (รูปแบบการควบคุมการผกผัน) เรียกอีกอย่างว่าการฉีดขึ้นต่อกัน IOC สั่งให้โปรแกรมเมอร์อธิบายวิธีการสร้างอ็อบเจ็กต์แทนที่จะสร้างอ็อบเจ็กต์จริงๆ แต่ในรูปแบบการออกแบบนี้ การควบคุมนี้ได้ถูกมอบให้กับแอสเซมเบลอร์ และแอสเซมเบลอร์จะสร้างอินสแตนซ์คลาสที่ต้องการหากจำเป็น
32) เขียนเกี่ยวกับเหตุการณ์ที่เกี่ยวข้องกับผู้ฟังประเภทต่างๆ?
กิจกรรมประเภทต่างๆ ที่เกี่ยวข้องกับผู้ฟัง ได้แก่:
- บริบทRefreshedEvent – สิ่งนี้จะถูกเรียกเมื่อมีการรีเฟรชหรือเตรียมใช้งานบริบท
- RequestHandledEvent – สิ่งนี้จะถูกเรียกเมื่อบริบทของเว็บจัดการคำขอ
- ContextClosedEvent – สิ่งนี้จะถูกเรียกเมื่อบริบทถูกปิด
33) แง่มุมคืออะไร?
Aspect เรียกอีกอย่างว่าการบันทึกซึ่งจำเป็นตลอดทั้งแอปพลิเคชัน การบันทึกหรือการจัดมุมมองเป็นฟังก์ชันการทำงานแบบตัดขวางในแอปพลิเคชันที่ใช้ AOP
34) จุดร่วมคืออะไร?
จุดที่สามารถนำแง่มุมในแอปพลิเคชันเรียกว่าจุดร่วม จุดนี้อาจเป็นเขตข้อมูลที่ได้รับการแก้ไข วิธีการที่ถูกเรียก หรือแม้แต่ข้อยกเว้นที่ถูกโยนทิ้งไป ณ จุดเหล่านี้ คุณสามารถเพิ่มโค้ดด้านใหม่เพื่อแนะนำลักษณะการทำงานใหม่ให้กับแอปพลิเคชันได้
สามารถแทรกโค้ดมุมมอง ณ จุดนี้ลงในขั้นตอนปกติของแอปพลิเคชันเพื่อเปลี่ยนพฤติกรรมปัจจุบัน
35) คำแนะนำเรียกว่าอะไร?
คำแนะนำจะบอกการประยุกต์ใช้พฤติกรรมใหม่และเป็นการนำไปปฏิบัติด้านหนึ่ง มันถูกแทรกลงในแอปพลิเคชันที่จุดร่วม
คำแนะนำคือการดำเนินการตามแง่มุม มันเป็นสิ่งที่เหมือนกับการบอกเล่าถึงการประยุกต์ใช้พฤติกรรมใหม่ของคุณ โดยทั่วไป คำแนะนำจะถูกแทรกลงในใบสมัครที่จุดร่วม
36) Pointcut คืออะไร?
Pointcut ใช้เพื่ออนุญาตให้นำคำแนะนำไปประยุกต์ใช้
37) การทอผ้าคืออะไร?
การทอผ้าใช้เพื่อสร้างวัตถุพร็อกซีใหม่โดยใช้ลักษณะต่างๆ กับวัตถุเป้าหมาย
38) singleton และต้นแบบ bean แตกต่างกันอย่างไร?
ซิงเกิลตันบีน – คำจำกัดความ bean เดียวสำหรับอินสแตนซ์อ็อบเจ็กต์เดียวต่อคอนเทนเนอร์ Spring IOC
ต้นแบบถั่ว – คำจำกัดความ bean เดียวสำหรับอินสแตนซ์อ็อบเจ็กต์จำนวนเท่าใดก็ได้ต่อ Spring IOC Container
39)สามารถประยุกต์การทอได้จุดใดบ้าง?
ต่อไปนี้เป็นจุดที่สามารถประยุกต์ใช้การทอผ้าได้:
- เวลารวบรวม
- เวลาโหลดชั้นเรียน
- Runtime
40) AutoProxying ประเภทต่างๆ มีอะไรบ้าง?
ต่อไปนี้เป็นประเภทต่างๆ ของ AutoProxying:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
- การพร็อกซีข้อมูลเมตาอัตโนมัติ
41) ถั่วสามารถผลิตซิงเกิลตันหรือต้นแบบได้อย่างไร?
แท็กบีนมีแอตทริบิวต์ที่เรียกว่า 'singleton' บีนจะเป็น singleton ถ้าค่าเป็น 'TRUE' มิฉะนั้น บีนจะเป็นต้นแบบ
42) คลาสใดที่ใช้ในการควบคุมการเชื่อมต่อฐานข้อมูล?
ต่อไปนี้เป็นคลาสที่ใช้ในการควบคุมการเชื่อมต่อฐานข้อมูล:
- การใช้แหล่งข้อมูล
- แหล่งข้อมูลอัจฉริยะ
- แหล่งที่มาของบทคัดย่อ
- แหล่งข้อมูลการเชื่อมต่อเดียว
- แหล่งข้อมูลผู้จัดการไดร์เวอร์
- TransactionAware DataSourceProxy
- ตัวจัดการธุรกรรมแหล่งข้อมูล
43) อธิบายเกี่ยวกับ DAO ใน Spring Framework หรือไม่
DAO ใช้เพื่อจัดให้มีการบูรณาการของ Java การเชื่อมต่อฐานข้อมูลและออบเจ็กต์การแมปเชิงสัมพันธ์ของวัตถุ DAO เป็น Spring Framework ที่ให้การเชื่อมต่อสำหรับ JDBC, Hibernate, JDO, JPA, Common Client Interface และ Oracle.
44) การทำ Autoproxying คืออะไร?
Autoproxying ใช้เพื่อสร้างพร็อกซีโดยอัตโนมัติสำหรับผู้ใช้ Spring โดยมีคลาสสองคลาสต่อไปนี้เพื่อรองรับการสร้างพร็อกซีอัตโนมัตินี้:
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
45) Metadata Autoproxying คืออะไร?
การทำ Autoproxying ของข้อมูลเมตาสามารถสร้างแรงบันดาลใจได้ ซึ่งสามารถขับเคลื่อนได้ด้วยข้อมูลเมตา สิ่งนี้ถูกกำหนดโดยแอตทริบิวต์ระดับแหล่งที่มาและเก็บข้อมูลเมตาไว้ในซอร์สโค้ด
วิธีนี้จะรักษาข้อมูลเมตาไว้ในที่เดียวและส่วนใหญ่จะใช้สำหรับการสนับสนุนธุรกรรมที่เปิดเผย
46) 'คำแนะนำในการขว้าง' ในฤดูใบไม้ผลิคืออะไร?
'Throws Advice' กำหนดลักษณะการทำงานเมื่อมีข้อยกเว้นเกิดขึ้น มันเป็นอินเทอร์เฟซและไม่มีวิธีการที่จำเป็นต้องดำเนินการ
คลาสที่ใช้อินเทอร์เฟซนี้ควรมีวิธีการที่มีลายเซ็นนี้:
- การสุ่มตัวอย่างเป็นโมฆะ (โยนแท็บเล็ต)
- การสุ่มตัวอย่างเป็นโมฆะ (วิธีการ m, วัตถุ [] o, เป้าหมายวัตถุ, โยนแท็บเล็ต)
47) ตัวแก้ไขต่างๆ ที่ใช้ในงาน Spring มีอะไรบ้าง?
เครื่องมือแก้ไขแบบกำหนดเองต่างๆ ที่ Spring Framework มีให้ ได้แก่:
- บรรณาธิการทรัพย์สิน
- เครื่องมือแก้ไข URL
- ตัวแก้ไขคลาส
- ตัวแก้ไขวันที่แบบกำหนดเอง
- ตัวแก้ไขไฟล์
- ตัวแก้ไขสถานที่
- ตัวแก้ไขคุณสมบัติ StringArray
- โปรแกรมแก้ไขสตริงทริมเมอร์
48) ข้อดีของ Spring Framework คืออะไร?
ต่อไปนี้เป็นข้อดีของกรอบสปริง:
- ชั้น Archiเทคเจอร์
- เปิดใช้งาน Plain Old Java การเขียนโปรแกรม Object (POJO) และช่วยให้สามารถบูรณาการและทดสอบได้อย่างต่อเนื่อง
- การพึ่งพาการฉีดและการผกผันของการควบคุมที่ทำให้ JDBC ง่ายขึ้น
- กรอบงานโอเพ่นซอร์สที่สามารถใช้เพื่อวัตถุประสงค์ทางการค้า
49) Hibernate เข้าถึงได้โดยใช้ Spring Framework อย่างไร
สามารถเข้าถึง Hibernate ได้สองวิธีดังต่อไปนี้:
- โดย IOC พร้อม Callback และ HibernateTemplate
- โดยการใช้ AOP Interceptor และขยาย HibernateDaoSupport
50) Spring 2.0 รองรับ Channels ใดบ้าง
ต่อไปนี้เป็นช่องที่รองรับโดย Spring เวอร์ชัน 2.0:
- ช่องโพลได้
- ช่องที่ติดตามได้
- เผยแพร่ช่องติดตาม
- ช่องทางคิว
- ช่องลำดับความสำคัญ
- ช่องนัดพบ
- ช่องทางตรง
- ช่องทางการดำเนินการ
- ช่องทางที่กำหนดขอบเขต
คำถามสัมภาษณ์ Spring MVC สำหรับประสบการณ์ 5 ปีขึ้นไป
51) เหตุใดการจัดการธุรกรรมที่ประกาศจึงเป็นที่ต้องการใน Spring
การจัดการธุรกรรมที่เปิดเผยมีผลกระทบน้อยที่สุดต่อรหัสแอปพลิเคชัน ดังนั้นจึงเป็นคอนเทนเนอร์น้ำหนักเบาในอุดมคติ
52) อธิบายแนวคิดของ BeanFactory หรือไม่?
BeanFactory ใช้แนวคิดเกี่ยวกับรูปแบบโรงงานที่ใช้ IOC เพื่อแยกการขึ้นต่อกันและการกำหนดค่าของแอปพลิเคชันออกจากโค้ดจริง
53) ถั่วฝักยาวมีขอบเขตแตกต่างกันอย่างไร?
ขอบเขตของ spring bean ได้แก่ Singleton, Prototype, Request, Session และ Global Session
54) วิธีการเข้าถึง Hibernate โดยใช้ Spring มีอะไรบ้าง?
มีสองวิธีในการเข้าถึงไฮเบอร์เนตโดยใช้ Spring:
- การผกผันของการควบคุมด้วยเทมเพลตไฮเบอร์เนตและการโทรกลับ
- การขยายการสนับสนุน HibernateDAO และการใช้โหนด AOP Interceptor
55) การใช้งาน struts สามารถรวมเข้ากับสปริงได้อย่างไร?
มีสองตัวเลือกสำหรับการใช้งานสตรัทที่สามารถรวมเข้ากับสปริงได้:
การกำหนดค่า Spring เพื่อจัดการ bean โดยใช้ปลั๊กอิน ContextLoader และตั้งค่าการพึ่งพาในไฟล์บริบทของ Spring
คว้าถั่วที่จัดการสปริงอย่างชัดเจนโดยใช้ agetwebapplicationcontext()
56) การผกผันของการควบคุม (IOC) คืออะไร?
Inversion of Control (IOC) เรียกอีกอย่างว่า dependency Injection ซึ่งไม่มีอะไรนอกจากรูปแบบการออกแบบที่ให้การควบคุมแก่แอสเซมเบลอร์ของคลาส โดยทั่วไปแล้ว คลาสจะสร้างอินสแตนซ์ของคลาสอื่นหากจำเป็น
แต่ในรูปแบบการออกแบบนี้ การควบคุมนี้มอบให้กับแอสเซมเบลอร์ และแอสเซมเบลอร์จะสร้างอินสแตนซ์คลาสที่ต้องการหากจำเป็น
57) เขียนประโยชน์ของการใช้ IOC?
ประโยชน์หลักของ dependency insert หรือ IOC คือ ช่วยลดจำนวนการเขียนโค้ดที่จำเป็นสำหรับแอปพลิเคชัน ซึ่งช่วยให้การทดสอบแอปพลิเคชันทำได้อย่างรวดเร็วและง่ายดาย เนื่องจากไม่จำเป็นต้องใช้กลไกการค้นหา JNDI หรือซิงเกิลตัน คอนเทนเนอร์ IOC ยังรองรับการโหลดแบบ Lazy Loading และการติดตั้งบริการอย่างกระตือรือร้น
58) ถั่วอินเนอร์คืออะไร? ข้อเสียเปรียบของถั่วอินเนอร์คืออะไร?
หากองค์ประกอบ bean ถูกฝังโดยตรงในแท็กคุณสมบัติในขณะที่วางสาย bean นั้น bean จะเรียกว่า Inner Bean ข้อเสียเปรียบคือไม่สามารถประมวลผลซ้ำได้
59)การฉีดสปริงมีกี่ประเภท?
การฉีดสปริงมีสามประเภท:
- การฉีดเซตเตอร์
- คอนสตรัคอินเจ็คชั่น
- Getter หรือวิธีการฉีด
60) สปริงเฟรมเวิร์กมีประโยชน์อย่างไร?
ต่อไปนี้เป็นประโยชน์ของเฟรมเวิร์กสปริง:
- คอนเทนเนอร์น้ำหนักเบาเมื่อเปรียบเทียบกับคอนเทนเนอร์ j2EE
- สร้างขึ้นในกรอบงาน Web MVC
- สร้างแอปพลิเคชันที่เชื่อมโยงอย่างหลวมๆ
- รองรับการเขียนโปรแกรมเชิงแง่มุม เช่น การบันทึก ธุรกรรม และการรักษาความปลอดภัย
- การกำหนดค่าทำในรูปแบบ XML ซึ่งง่ายต่อการเขียนและทำความเข้าใจ
61) คำแนะนำประเภทใดบ้าง?
คำแนะนำมีห้าประเภท:
- ก่อนคำแนะนำ
- หลังจากกลับมาให้คำแนะนำ
- หลังจากโยนคำแนะนำ
- คำแนะนำในที่สุด
- รอบคำแนะนำ
62) สิ่งที่เรียกว่า PreparedStatementCreator?
แถลงการณ์ที่เตรียมไว้Creator เป็นหนึ่งในอินเทอร์เฟซที่ใช้กันทั่วไปสำหรับการเขียนข้อมูลลงในฐานข้อมูล createPreparedStatement() เป็นวิธีการที่ใช้สร้างและส่งกลับ PreparedStatement จากอาร์กิวเมนต์ Connection และจัดการข้อยกเว้นโดยอัตโนมัติ เมื่อนำอินเทอร์เฟซนี้ไปใช้แล้ว อินเทอร์เฟซอื่น SqlProvider ก็สามารถใช้ได้เช่นกัน ซึ่งมีวิธีการที่เรียกว่า getSql() วิธีนี้มีประโยชน์สำหรับการจัดเตรียมสตริง SQL ให้กับ JdbcTemplate วิธีนี้จะไม่จัดการกับ SQLException
63) SQLProvider คืออะไร
SQLProvider มีเพียงวิธีเดียวเท่านั้นที่เรียกว่า getSql()
และดำเนินการโดยใช้ PreparedStatementCreator ผู้ใช้งานส่วนใหญ่ใช้สำหรับการดีบัก
64) เขียนเกี่ยวกับ BatchPreparedStatementSetter หรือไม่
BatchPreparedStatementSetter ใช้เพื่ออัปเดตมากกว่าหนึ่งแถวในคราวเดียว โดยสามารถใช้ BatchPreparedStatementSetter ได้ อินเทอร์เฟซนี้มีสองวิธีด้วยกัน
- setValues (PreparedStatement ps, int i) ส่งข้อยกเว้น SOL
- int getBatchSize.php
65) วิธีไหนดีกว่าในการใช้ JDBC ใน Spring?
หากใช้ JDBC กับคลาสเทมเพลตชื่อ JdbcTemplate จะให้ประสิทธิภาพที่ดีกว่า
66) คลาส DAO มีข้อยกเว้นอะไรบ้างที่ใช้ใน Spring Throw
ในคลาส DAO ฤดูใบไม้ผลิจะส่งเฉพาะ SQLException เท่านั้น
67) อธิบายข้อดีของการใช้โมดูล DAO หรือไม่
รหัสฐานข้อมูลสามารถรักษาให้สะอาดและเรียบง่ายได้โดยใช้โมดูล DAO ซึ่งจะช่วยป้องกันปัญหาที่เกิดขึ้นเนื่องจากการจัดการการปิดทรัพยากรฐานข้อมูลไม่ดี นอกจากนี้ โมดูล DAO ยังใช้โมดูล AOP เพื่อเปิดใช้งานออบเจ็กต์ในแอปพลิเคชัน Spring เพื่อใช้บริการการจัดการธุรกรรม
68) ตั้งชื่อการใช้งาน ApplicationContext ที่สำคัญที่ใช้ใน Spring Framework หรือไม่
พวกเขาจะ:
- ClassPathXmlApplicationContext
- FileSystemXmlApplicationContext
- XmlWebApplicationContext
69) bean จะถูกเพิ่มเข้าไปในแอปพลิเคชัน Spring ได้อย่างไร?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"> <beans> <bean id="foo"/> <bean id="bar"/> </beans>
แท็ก bean มีแอตทริบิวต์ ID ที่เก็บชื่อ bean และแอตทริบิวต์คลาสที่ระบุชื่อคลาสแบบเต็ม
70) โมดูลการรวม ORM คืออะไร
เครื่องมือการแมปวัตถุ/เชิงสัมพันธ์ (ORM) ได้รับการสนับสนุนโดย Spring บน JDBC แบบตรงโดยใช้โมดูล ORM Spring สามารถเข้าร่วมเฟรมเวิร์ก ORM ที่สำคัญต่างๆ ได้ รวมถึง JDO, iBATIS SQL Maps และ Hibernate
71) กล่าวถึงและอธิบายประเภทของคำแนะนำในฤดูใบไม้ผลิ?
ประเภทของคำแนะนำคือ:
- ก่อนให้คำแนะนำ: คำแนะนำที่ดำเนินการก่อนจุดร่วมเรียกว่า 'ก่อนคำแนะนำ'
- หลังจากส่งคืนคำแนะนำ: คำแนะนำที่ดำเนินการหลังจากจุดร่วมเสร็จสมบูรณ์ตามปกติเรียกว่า 'หลังจากส่งคืนคำแนะนำ'
- หลังจากโยนคำแนะนำ: คำแนะนำที่ดำเนินการเฉพาะเมื่อวิธีการออกผิดปกติโดยการโยนข้อยกเว้น เรียกว่า 'หลังจากโยนคำแนะนำ'
- หลังจาก (ในที่สุด) คำแนะนำ: คำแนะนำที่ดำเนินการโดยไม่คำนึงถึงวิธีการออกจากจุดร่วมเรียกว่า 'หลังจากคำแนะนำในที่สุด'
- คำแนะนำรอบ: คำแนะนำที่ล้อมรอบจุดร่วม เช่น การเรียกใช้เมธอด เรียกว่า 'คำแนะนำโดยประมาณ' สามารถใช้เพื่อทำกิจกรรมพิเศษก่อนและหลังการเรียกใช้เมธอด
72) เว็บโมดูลคืออะไร?
เว็บโมดูลช่วยให้สามารถสร้างเว็บแอปพลิเคชันโดยไม่มี XML ไฟล์ web.xml จำเป็นต้องได้รับการกำหนดค่าเพื่อใช้เว็บโมดูล
73) DataAccessException คืออะไร
DataAccessException เป็น RuntimeException มันเป็นข้อยกเว้นที่ไม่ได้ตรวจสอบ ผู้ใช้ไม่สามารถถูกบังคับให้จัดการกับข้อยกเว้นประเภทนี้ได้
74) XMLBeanFactory คืออะไร
Spring มีการใช้งานหลายอย่างของโรงงาน Bean org.springframework.beans.factory.xml.XmlBeanFactory เป็นสิ่งที่สำคัญมาก โดยจะโหลด bean ตามคำจำกัดความที่จัดเก็บไว้ในไฟล์ XML สำหรับการสร้าง XmlBeanFactory นั้น java.io.InputStream จะถูกส่งไปยัง Constructor InputStream จัดเตรียม XML ให้กับโรงงาน ตัวอย่างเช่น ในการดึงข้อมูล bean นั้น วิธีการ getBean() จะถูกเรียกโดยการส่งชื่อของ bean ที่ต้องการ
MyBean helloBean = (MyBean) factory.getBean("helloBean");
75) ตั้งชื่อคลาส Exception ซึ่งเชื่อมต่อกับข้อยกเว้นที่แอปพลิเคชันส่งออกมาหรือไม่
เป็น DataAccessException ที่กำหนดโดย org.springframework.dao.DataAccessException
76) พูดถึงประเภทของ lOC (การฉีดพึ่งพา) หรือไม่?
loC ประเภทต่างๆ ได้แก่: –
- ตัวเซ็ตเตอร์ฉีด: ด้วยความช่วยเหลือของ Javaคุณสมบัติของถั่ว
- การฉีดคอนสตรัคเตอร์: การพึ่งพาจะได้รับในรูปแบบของพารามิเตอร์ตัวสร้าง
- การฉีดอินเตอร์เฟส: ด้วยความช่วยเหลือของอินเทอร์เฟซ การฉีดจะดำเนินการ
จากทั้งสามนี้ มีเพียงการก่อสร้างและตัวเซ็ตเท่านั้นที่ถูกนำมาใช้ในฤดูใบไม้ผลิ
77) วิธีวงจรชีวิตถั่วที่สำคัญคืออะไร?
โดยรวมแล้ว มีวิธีวงจรชีวิตของ bean สองวิธี วิธีแรกคือวิธีการตั้งค่าซึ่งเรียกว่าระหว่างการโหลดถั่วลงในคอนเทนเนอร์ วิธีที่สองคือเมื่อเมล็ดถั่วถูกขนออกจากภาชนะ และวิธีนี้เรียกว่าการรื้อออก
78) วิธีวงจรชีวิตเริ่มต้นของ bean จะทำให้เป็นโมฆะได้อย่างไร?
แท็ก bean มีคุณลักษณะที่เป็นประโยชน์สองประการซึ่งสามารถใช้เพื่อกำหนดวิธีการเริ่มต้นและการทำลายแบบพิเศษได้
ตัวอย่างเช่น สามารถเพิ่มวิธีการใหม่สองวิธี forSetup และ forTeardown ลงในคลาส Foo ได้ในลักษณะต่อไปนี้:
<beans> <bean id="bar" init-method="forSetup" destroy="forTeardown"/> </beans>
79) ก. คืออะไร Target?
เป้าหมายคือคลาสที่แนะนำ คลาสนี้อาจเป็นคลาสที่เราต้องการเพิ่มพฤติกรรมพิเศษหรือเป็นคลาสของบุคคลที่สามก็ได้ คลาสเป้าหมายมีอิสระที่จะมุ่งเน้นไปที่ข้อกังวลหลักโดยใช้แนวคิด AOP โดยไม่คำนึงถึงคำแนะนำใดๆ ที่กำลังใช้
80) อธิบายคำว่า Proxy?
คำว่าพร็อกซีหมายถึงวัตถุที่ผลิตคำแนะนำไปยังวัตถุเป้าหมาย
81) ข้อกังวลและข้อกังวลแบบ cross-cut ใน AOP ฤดูใบไม้ผลิคืออะไร?
- ความกังวลเรื่องการตัดขวาง: เป็นข้อกังวลที่มีผลตลอดทั้งแอปพลิเคชันและส่งผลต่อแอปพลิเคชันทั้งหมด เช่น ความปลอดภัย การบันทึก และการถ่ายโอนข้อมูลเป็นข้อกังวลที่จำเป็นในเกือบทุกโมดูลของแอปพลิเคชัน
- กังวล: ข้อกังวลคือพฤติกรรมที่เราต้องการให้มีในโมดูลของแอปพลิเคชัน ปัญหาที่เราสนใจจะกำหนดข้อกังวลของเรา
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)