Spring Tutorial: Spring Framework คืออะไร และจะติดตั้งอย่างไร

⚡ สรุปอย่างชาญฉลาด

Spring Framework is an open-source, lightweight Java framework for building enterprise web applications, offering Inversion of Control, Dependency Injection, a modular architecture of around 20 modules, Spring MVC, and Aspect-Oriented Programming to create loosely coupled, testable software.

  • 🌱 Spring Defined: An open-source, lightweight Java framework for building enterprise and web applications.
  • 🔌 คุณสมบัติหลัก: Inversion of Control and Dependency Injection enable loose coupling and easy testing.
  • 🧩 Modular Archiเทคเจอร์: Around 20 modules cover Core, Beans, Context, Data Access, Web, and Test.
  • 🖥️ Spring MVC: A model-view-controller framework driven by the DispatcherServlet front controller.
  • 🇧🇷 Aspect-Oriented Programming: Centralizes cross-cutting concerns such as logging, security, and transactions.
  • 🇧🇷 ข้อเสียข้อดี: Enables POJO-based enterprise apps and templates, but can impose many restrictions.

Spring Framework Tutorial

Spring Framework คืออะไร?

Spring Framework เป็นเฟรมเวิร์กโอเพ่นซอร์สสำหรับการสร้างเว็บแอปพลิเคชันด้วย Java ในฐานะภาษาโปรแกรม มันมีประสิทธิภาพสูง น้ำหนักเบา แต่ใช้งานง่าย และให้การสนับสนุนสำหรับนักพัฒนาping Java แอปพลิเคชั่นได้อย่างง่ายดาย Spring เป็นเฟรมเวิร์กแบบน้ำหนักเบาซึ่งถือได้ว่าเป็นเฟรมเวิร์กของเฟรมเวิร์ก เนื่องจากมันยังให้การสนับสนุนเฟรมเวิร์กต่างๆ เช่น hibernate, struts, tapestry และ JSF

Spring Framework

Spring Framework

คุณสมบัติของ Spring Framework

ในบทช่วยสอน Spring นี้ เราจะพูดถึงฟีเจอร์ที่โดดเด่นที่สุดของ Spring Framework:

  • แม่แบบที่กำหนดไว้ล่วงหน้า
  • ทดสอบง่าย
  • ข้อต่อหลวม
  • มีน้ำหนักเบา
  • การพัฒนาอย่างรวดเร็ว
  • กล้ามท้องทรงพลังtracการ
  • เสนอทรัพยากรที่หลากหลาย
  • การสนับสนุนที่ประกาศ
  • นำเสนอเครื่องมือที่ครอบคลุม

ประวัติโดยย่อของฤดูใบไม้ผลิ

ในบทช่วยสอน Spring Framework นี้ เราจะพูดถึงจุดสังเกตที่สำคัญบางประการจากประวัติความเป็นมาของ Spring:

  • Spring framework เขียนโดย Rod Johnson และเปิดตัวครั้งแรกในเดือนมิถุนายน พ.ศ. 2002
  • ฤดูใบไม้ผลิลาsเวอร์ชัน t เปิดตัวในเดือนมีนาคม พ.ศ. 2004
  • เวอร์ชัน Spring 1.2.6 เปิดตัวในปี 2006
  • เวอร์ชัน Spring 2.0 เปิดตัวในเดือนตุลาคม 2006
  • เวอร์ชัน Spring 2.5 เปิดตัวในเดือนพฤศจิกายน 2007
  • เวอร์ชัน Spring 3 เปิดตัวในเดือนธันวาคม 2009
  • เวอร์ชัน Spring 3.1 เปิดตัวในเดือนธันวาคม 2011
  • Spring Framework 4 เวอร์ชันวางจำหน่ายในเดือนธันวาคม 2013 ด้วย Java รองรับ 8
  • Spring Framework เวอร์ชัน 4.2.0 เปิดตัวเมื่อเดือนกรกฎาคม 2015
  • Spring Framework เวอร์ชัน 4.2.1 เปิดตัวในเดือนกันยายน 2015
  • Spring Framework 4.3 เวอร์ชันเผยแพร่เมื่อวันที่ 10 มิถุนายน 2016
  • Spring Framework เวอร์ชัน 5.0 เปิดตัวเมื่อเดือนมิถุนายน 2017

Spring Framework Archiเทคเจอร์

กรอบฤดูใบไม้ผลิ Architecture มี 20 โมดูลซึ่งสามารถใช้งานได้ตามความต้องการของแอปพลิเคชัน

Spring Framework Archiเทคเจอร์

Spring Framework Archiเทคเจอร์

การขอ แกน และ ถั่ว จัดเตรียมส่วนพื้นฐานของกรอบการทำงาน รวมถึง IoC และ DI

คอนเทนเนอร์หลัก

Core Container ถูกแบ่งเพิ่มเติมตามองค์ประกอบย่อย เช่น โมดูล Core, Beans, Context และ Expression Language

ดูรายละเอียดแต่ละรุ่นเหล่านี้:

แกนสปริง:

โมดูลหลักจัดเตรียมส่วนประกอบหลักทั้งหมดของเฟรมเวิร์กสปริง ประกอบด้วย IoC (Inversion of Control) และฟีเจอร์ Dependency Injection

ถั่วฝักยาว:

โมดูลนี้นำเสนอ BeanFactory ซึ่งเป็นการนำรูปแบบโรงงานไปใช้อย่างซับซ้อน

บริบทฤดูใบไม้ผลิ:

โมดูลบริบทสร้างขึ้นบนฐานที่มั่นคงที่โมดูล Core และ Beans มอบให้ และเป็นสื่อที่ช่วยให้คุณเข้าถึงอ็อบเจ็กต์ใดๆ ที่กำหนดและกำหนดค่าได้

ภาษานิพจน์สปริง (SpEL):

โมดูลนี้นำเสนอภาษานิพจน์สำหรับการแก้ไขและการสืบค้นกราฟวัตถุในระหว่างรันไทม์

การเข้าถึงข้อมูล/บูรณาการ:

เลเยอร์การเข้าถึงข้อมูลและการรวมประกอบด้วยโมดูล JDBC, ORM, JDBC, OXM, JMS และธุรกรรม

  • ORM: โมดูล ORM ช่วยให้โค้ดมีความสม่ำเสมอและพกพาได้ โดยไม่ขึ้นอยู่กับเทคโนโลยีการเข้าถึงข้อมูล โดยจะอิงตามแผนที่เชิงวัตถุ (Object-Oriented Mapping)ping แนวคิด.
  • โมดูล JDBC ประกอบด้วย JDBC-abstracเลเยอร์การประมวลผล ช่วยให้คุณสามารถดำเนินการเขียนโค้ดที่เกี่ยวข้องกับ JDBC ได้
  • OXM: Object XML Mappers (OCM) ช่วยให้คุณแปลงออบเจ็กต์เป็นรูปแบบ XML และในทางกลับกัน
  • การขอ Java โมดูลบริการข้อความนำเสนอคุณสมบัติต่างๆ เช่น การสร้างและการใช้ข้อความ
  • ธุรกรรม: โมดูลนี้นำเสนอวิธีการจัดการแบบประกาศและแบบเป็นโปรแกรมสำหรับการใช้อินเทอร์เฟซเฉพาะและสำหรับ POJO ทุกประเภท (แบบเก่าธรรมดา Java วัตถุ)

สปริงเว็บ:

เว็บ: โมดูลนี้ใช้ผู้ฟังเซิร์ฟเล็ตและบริบทแอปพลิเคชันบนเว็บ นอกจากนี้ยังมีคุณลักษณะของการผสานรวมและฟังก์ชันการทำงานบนเว็บสำหรับการอัปโหลดไฟล์แบบหลายส่วน

เว็บเซิร์ฟเล็ต: โมดูลนี้จะจัดเก็บการใช้งานตาม MVC สำหรับ เว็บแอปพลิเคชัน.

เว็บซ็อกเก็ต: โมดูลนำเสนอการสื่อสารแบบ WebSocket และแบบสองทางระหว่างไคลเอนต์และเซิร์ฟเวอร์ในเว็บแอป

เว็บพอร์ตเล็ต: โมดูลนี้เรียกอีกอย่างว่าโมดูล Spring-MVC-Portlet นำเสนอพอร์ตเล็ตแบบ Spring และคัดลอกการทำงานทั้งหมดของโมดูล Web-Servlet

อภ: ภาษา AOP เป็นเครื่องมือที่มีประโยชน์ซึ่งช่วยให้นักพัฒนาสามารถเพิ่มฟังก์ชันการทำงานระดับองค์กรให้กับแอปพลิเคชันได้

เครื่องมือวัด: โมดูลนี้นำเสนอเครื่องมือวัดระดับและการใช้งานตัวโหลด ใช้สำหรับเซิร์ฟเวอร์แอปพลิเคชันเฉพาะ

การทดสอบ: โมดูลนี้ให้การสนับสนุนสำหรับการทดสอบส่วนประกอบของสปริงด้วย TestNG or JUnit เครื่องมือ ให้การโหลด Spring ApplicationContexts และการแคชบริบทเหล่านั้นอย่างสม่ำเสมอ

ฤดูใบไม้ผลิ – กรอบงาน MVC

ในบทช่วยสอน Spring Framework นี้ เราจะเรียนรู้เกี่ยวกับ Spring MVC Framework:

เฟรมเวิร์ก MVC ของสปริง

เฟรมเวิร์ก MVC ของสปริง

เฟรมเวิร์ก Spring web MVC นำเสนอสถาปัตยกรรมโมเดล-มุมมอง-ตัวควบคุมที่มีส่วนประกอบที่ช่วยให้คุณสามารถเป็นแอปพลิเคชันเว็บที่มีความยืดหยุ่นและเชื่อมโยงกันอย่างหลวมๆ

รูปแบบ MVC ช่วยให้คุณสามารถแยกแง่มุมต่างๆ ของแอปพลิเคชันออก ในขณะที่เสนอการเชื่อมต่อแบบหลวมๆ ระหว่างองค์ประกอบเหล่านี้ Spring MVC ยังช่วยให้คุณสร้างเว็บแอปพลิเคชันที่ยืดหยุ่นและเชื่อมโยงอย่างหลวมๆ

การออกแบบ MVC ยังช่วยให้คุณสามารถแยกตรรกะทางธุรกิจ ตรรกะการนำเสนอ และตรรกะการนำทางได้ นอกจากนี้ยังมีโซลูชันที่หรูหราสำหรับการใช้ MVC ใน Spring Framework ด้วยความช่วยเหลือของ DispatcherServlet

MVC ทำงานอย่างไรในฤดูใบไม้ผลิ

ตอนนี้ในบทช่วยสอน Spring เราจะมาเรียนรู้กัน MVC ทำงานอย่างไร ในฤดูใบไม้ผลิ:

MVC ทำงานในฤดูใบไม้ผลิ

MVC ทำงานอย่างไรในฤดูใบไม้ผลิ

  • DispatcherServlet ได้รับการร้องขอ
  • หลังจากนั้น DispatcherServlet จะสื่อสารกับ HandlerMappingนอกจากนี้ยังยกเลิกสิทธิ์การควบคุมที่เชื่อมโยงกับคำขอเฉพาะนั้นด้วย
  • ตัวควบคุมประมวลผลคำขอนี้โดยการเรียกวิธีการบริการและวัตถุ ModelAndView ที่ส่งคืนโดย DispatcherServlet
  • ชื่อมุมมองจะถูกส่งไปยัง ViewResolver เพื่อค้นหามุมมองจริงที่จะเรียกใช้
  • หลังจากนั้น DispatcherServlet จะถูกส่งไปยัง View เพื่อแสดงผลลัพธ์
  • โดยใช้ข้อมูลโมเดล View จะเรนเดอร์และส่งผลลัพธ์กลับไปยังผู้ใช้

การเขียนโปรแกรมเชิงมุมมอง

การเขียนโปรแกรมเชิงมุมมองช่วยให้คุณสมบัติโกลบอลของโปรแกรมตัดสินใจว่าจะคอมไพล์เป็นโปรแกรมที่ปฏิบัติการได้อย่างไร

หน่วยหลักของความเป็นโมดูลคือลักษณะแทนที่จะเป็นคลาส การเขียนโปรแกรมเชิงมุมมองแบ่งตรรกะของโปรแกรมออกเป็นส่วนต่างๆ ที่เรียกว่าข้อกังวล

ข้อกังวลแบบข้ามประเด็นอาจส่งผลกระทบต่อแอปพลิเคชันทั้งหมด และรวมอยู่ในที่เดียวในโค้ด เช่น ความปลอดภัยของธุรกรรม การจัดการ การบันทึก การรับรองความถูกต้อง ฯลฯ

ความกังวลแบบข้ามประเด็น

ความกังวลแบบข้ามประเด็น

นอกจากนี้ยังสามารถพิจารณาได้ว่าเป็นรูปแบบการออกแบบตกแต่งแบบไดนามิก รูปแบบนี้ยังเสนอพฤติกรรมเพิ่มเติมที่สามารถเพิ่มลงในคลาสที่มีอยู่โดยการห่อหุ้มping สร้างคลาสเดิมและทำซ้ำอินเทอร์เฟซของคลาสเดิม พร้อมทั้งลบอินเทอร์เฟซเดิมออก

AOP หลัก Concepts

การเขียนโปรแกรมแบบ Aspect-Oriented มีอยู่ 7 แนวคิดหลัก

AOP หลัก Concepts

AOP หลัก Concepts

เรามาคุยกันในรายละเอียด:

  • แง่มุม: An aspect is a class which allows implementing the JEE application. It concerns which cut across multiple classes, like transaction management, security, etc. Aspects can be a typical class configured using Spring XML configuration or a regular class annotated using @Aspect annotation.
  • จุดร่วม: It is a candidate point in the program execution where an aspect can be plugged in. It could be a method being called as an exception being thrown, or even a field which is modified.
  • คำแนะนำ: คำแนะนำคือการดำเนินการจริงสำหรับจุดร่วมเฉพาะ วิธีการนี้จะดำเนินการเมื่อจุดร่วมเฉพาะตรงกับจุดที่ตรงกันในแอปพลิเคชัน
  • พอยต์คัต: เป็นนิพจน์ที่สามารถจับคู่กับจุดร่วมเพื่อตรวจสอบว่าคำแนะนำนั้นควรได้รับการดำเนินการหรือไม่
  • Target วัตถุ: ขึ้นอยู่กับอุปกรณ์วัตถุเป้าหมายที่ถูกนำไปใช้ ใน AOP คลาสย่อยจะถูกสร้างขึ้นที่รันไทม์โดยที่วิธีการเป้าหมายควรถูกแทนที่ และคำแนะนำจะรวมอยู่ด้วยขึ้นอยู่กับการกำหนดค่า
  • พร็อกซี: ควรสร้างออบเจ็กต์นี้หลังจากใช้คำแนะนำกับออบเจ็กต์เป้าหมาย
  • ทอ: นี่คือวิธีการเชื่อมโยงแง่มุมกับออบเจ็กต์แอปพลิเคชันหรือประเภทอื่นเพื่อสร้างออบเจ็กต์ที่แนะนำ

การติดตั้ง Java ฤดูใบไม้ผลิ

ตอนนี้อยู่ในนี้ Java บทช่วยสอนฤดูใบไม้ผลิ เราจะเรียนรู้ข้อมูลทีละขั้นตอนในการติดตั้ง Java ฤดูใบไม้ผลิในคอมพิวเตอร์ของคุณ:

ขั้นตอน 1) เปิดเบราว์เซอร์ของคุณ
ไปที่ eclipse.org.

ขั้นตอน 2) ดาวน์โหลด Eclipse ติดตั้ง
ดาวน์โหลด Eclipse Neon ตัวติดตั้งและติดตั้งลงในไฟล์ Windows ระบบ

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 3) ค้นหาเวอร์ชัน 64 บิต
คลิกที่ปุ่ม "ดาวน์โหลด 64 บิต"

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 4) ค้นหา IDE สำหรับ Java นักพัฒนา
ไปที่ Eclipse IDE สำหรับ Java นักพัฒนาซอฟต์แวร์และคลิกที่ลิงก์ "64 บิต"

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 5) ค้นหาลิงก์ 64 บิต
คลิกที่ "Windows ลิงก์ 64 บิต”

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 6) ดาวน์โหลดไฟล์ซิป
คลิกที่ปุ่ม "ดาวน์โหลด" เพื่อดาวน์โหลดไฟล์ zip

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 7) Extracในไฟล์ซิป
Extracดาวน์โหลดไฟล์ zip ไปยังโฟลเดอร์ที่กำหนด

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 8) เลือกไดเร็กทอรีพื้นที่ทำงาน
คลิกที่ปุ่ม "เรียกดู" เพื่อเลือกไดเร็กทอรีพื้นที่ทำงาน

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 9) เลือกโฟลเดอร์
คลิกที่ "เลือกโฟลเดอร์" เพื่อเลือกโฟลเดอร์

การติดตั้ง Java ฤดูใบไม้ผลิ

กระบวนการจะแสดงดังที่แสดงในหน้าจอต่อไปนี้

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 10) เปิดไคลเอนต์
การเปิด Eclipse ลูกค้าตลาดกลาง.

  1. ไปที่เมนูช่วยเหลือ
  2. คลิกที่ "Eclipse ตัวเลือกตลาดซื้อขาย”

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 11) ค้นหาปลั๊กอินสปริง
การค้นหาและติดตั้งปลั๊กอิน Spring

  1. เขียน Spring ในกล่องข้อความ “ค้นหา”
  2. คลิกที่ไอคอน "ค้นหา"
  3. คลิกที่ปุ่ม "ติดตั้ง" เพื่อติดตั้งปลั๊กอิน

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 12) คลิกปุ่ม 'ยืนยัน'
ยืนยันคุณสมบัติที่เลือกและคลิกที่ปุ่ม "ยืนยัน"

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 13) ยอมรับเงื่อนไข
การยอมรับข้อกำหนดและเงื่อนไขและการติดตั้งซอฟต์แวร์

  1. คลิกที่ปุ่มตัวเลือก "ฉันยอมรับเงื่อนไขของข้อตกลงใบอนุญาต"
  2. คลิกที่ปุ่ม "เสร็จสิ้น" เพื่อสิ้นสุดการติดตั้ง

การติดตั้ง Java ฤดูใบไม้ผลิ

หน้าจอต้อนรับจะปรากฏพร้อมความคืบหน้าในการติดตั้งซอฟต์แวร์

การติดตั้ง Java ฤดูใบไม้ผลิ

ขั้นตอน 14) รีสตาร์ท IDE
คลิกที่ปุ่ม "รีสตาร์ททันที" เพื่อรีสตาร์ท Eclipse IDE และใช้การเปลี่ยนแปลง

การติดตั้ง Java ฤดูใบไม้ผลิ

หน้าจอต่อไปนี้จะปรากฏขึ้น:

การติดตั้ง Java ฤดูใบไม้ผลิ

ข้อดีของ Spring Framework

นี่คือข้อดี/ข้อดีที่สำคัญของการใช้สปริง

  • Spring ช่วยให้นักพัฒนาสามารถพัฒนาแอปพลิเคชันระดับองค์กรด้วยความช่วยเหลือของ POJO
  • เสนอเทมเพลตสำหรับ Hibernate, JDBC, Hibernate, JPA ฯลฯ เพื่อลดหลีกเลี่ยงการเขียนโค้ดที่ยาว
  • ให้ข้อมูลหน้าท้องtracตั้งใจที่จะ Java รุ่นองค์กร (JEE)
  • คุณสามารถจัดระเบียบสปริงในแบบโมดูลาร์ได้ ดังนั้นหากแพ็คเกจและคลาสจำนวนมากมีความจำเป็น คุณเพียงแต่จำเป็นและเพิกเฉยต่อส่วนที่เหลือ
  • มีการสนับสนุนที่เปิดเผยสำหรับธุรกรรม การจัดรูปแบบ การตรวจสอบความถูกต้อง การแคช ฯลฯ
  • แอปพลิเคชันที่พัฒนาโดยใช้ Spring นั้นเรียบง่าย เนื่องจากโค้ดที่ขึ้นอยู่กับสภาพแวดล้อมถูกย้ายไปยังเฟรมเวิร์กนี้

ข้อเสียของ Spring Framework

นี่คือข้อเสีย/ข้อเสียของ Spring Framework

  • Java ฤดูใบไม้ผลิมีข้อจำกัดมากเกินไป
  • Code หมายความว่า เป็นสาธารณะ คือสิ่งที่ทุกคนสามารถมองเห็นได้
  • นอกจากนี้ยังไม่มีคุณสมบัติที่สร้างขึ้นเองอีกด้วย

ตรวจสอบด้วย: - คำถามและคำตอบสัมภาษณ์ Spring MVC Framework 80 อันดับแรก

คำถามที่พบบ่อย

Spring is a comprehensive framework requiring manual configuration, while Spring Boot is built on Spring to provide auto-configuration, embedded servers, and starter dependencies, making it faster to create stand-alone, production-ready applications.

Dependency Injection is a design pattern where the Spring container supplies an object’s dependencies instead of the object creating them. It promotes loose coupling and easier testing through Inversion of Control.

The DispatcherServlet is the front controller in Spring MVC. It receives all requests, consults HandlerMapping and controllers, resolves the view through a ViewResolver, and returns the rendered response.

AI is integrated into Spring applications through libraries like Spring AI, which connect to models for chat, embeddings, and retrieval. The Spring container manages AI services as beans within the application.

Yes. AI assistants can generate Spring controllers, configure beans, write REST endpoints, and suggest dependency injection patterns, helping developers build Spring applications faster while still reviewing the output.

สรุปโพสต์นี้ด้วย: