1. ทำไม เรียนรู้ฤดูใบไม้ผลิ?
ด้วยการติดต่อและความเข้าใจอย่างต่อเนื่องของ Java EE คุณจะพบว่าฤดูใบไม้ผลิมีบทบาทสำคัญมากขึ้นในองค์กรและโครงการต่างๆ การเรียนรู้ฤดูใบไม้ผลิได้กลายเป็นหนึ่งในทักษะที่ต้องเรียนรู้ในอุตสาหกรรมไอทีของเรา
Spring Framework เวอร์ชันล่าสุดปัจจุบันคือ Spring Framework 5 เมื่อคุณเปิดเว็บไซต์อย่างเป็นทางการคุณควรจะเห็นภาพส่งเสริมการขายของเว็บไซต์ทางการ
มีข่าวที่เกี่ยวข้องที่นี่ที่คุณสนใจคลิกเพื่อดูเวอร์ชันภาษาอังกฤษดั้งเดิม คลิกเพื่อดูเวอร์ชันภาษาจีน
ตามข่าวเว็บไซต์อย่างเป็นทางการและข้อมูลที่ฉันรู้เว็บไซต์ทางการของฤดูใบไม้ผลิจะยังคงสนับสนุน Spring MVC ต่อไปเนื่องจากมีการปรับปรุงมากมาย
แต่ฉันคิดว่าเทรนด์ในอนาคตจะเป็น Spring Boot+ SpringWeb Flux+ Spring Cloud
ดังนั้นความแตกต่างระหว่างสปริง MVC และสปริงเว็บฟลักซ์คืออะไร?
เว็บไซต์อย่างเป็นทางการให้ภาพเปรียบเทียบนี้:
แปลด้านล่าง:
สรุป:
หลังจากเห็นสิ่งนี้ฉันเชื่อว่าคุณฉลาดในเวลานี้คุณควรรู้ว่าทำไมฉันถึงพูดแบบนั้นมาก่อน
2. บทนำสู่เว็บไซต์ทางการของฤดูใบไม้ผลิ
เว็บไซต์อย่างเป็นทางการของฤดูใบไม้ผลิ: https://spring.io/ ฤดูใบไม้ผลิ
เอกสาร: https://spring.io/guides
Spring IDE: https://spring.io/tools/sts
โครงการฤดูใบไม้ผลิ: https://spring.io/projects
Project Quick Generator: https://start.spring.io/
ฉันเชื่อว่าหลายคนรู้ว่าลิงก์ข้างต้น แต่ที่จริงแล้วเรามักไม่รู้ว่าจะใช้ลิงก์ใด
เว็บไซต์อย่างเป็นทางการของฤดูใบไม้ผลิ: ติดตามข่าวเว็บไซต์อย่างเป็นทางการของฤดูใบไม้ผลิและประกาศเทคโนโลยีฤดูใบไม้ผลิและการประกาศรุ่นล่าสุด
เอกสารฤดูใบไม้ผลิ: คุณต้องการทำอะไร? คุณต้องการพัฒนาโครงการแบบไหน? การแนะนำและเอกสารที่เกี่ยวข้องสามารถพบได้ที่นี่อย่างรวดเร็ว
Spring IDE: หากคุณวางแผนที่จะใช้เวอร์ชัน Eclipse ฉันขอแนะนำให้ใช้เว็บไซต์อย่างเป็นทางการของ STS เพราะควรเป็นฤดูใบไม้ผลิที่เป็นมิตรและสนับสนุนมากที่สุด แน่นอนถ้าเงื่อนไขตกลงฉันก็ยังขอแนะนำให้คุณใช้ความคิด Intellij
โครงการฤดูใบไม้ผลิ: สิ่งนี้ถูกแบ่งตามโมดูลโครงการเช่นจากการกำหนดค่าไปจนถึงความปลอดภัยเว็บแอปพลิเคชันไปยังข้อมูลขนาดใหญ่และคุณสามารถเรียนรู้ว่าคุณต้องการเรียนรู้แบบใดตามการจำแนกประเภท
Project Generator: นี่เป็นเครื่องมือที่สะดวกมากโดยเว็บไซต์ทางการของ Spring จำเป็นต้องมีการพึ่งพาใดและต้องการเวอร์ชันใด คุณสามารถกำหนดค่าได้ที่นี่แล้วดาวน์โหลด
3. กรอบฤดูใบไม้ผลิ
Spring Framework Core สนับสนุนการฉีดพึ่งพาการจัดการธุรกรรมเว็บแอปพลิเคชันการเข้าถึงข้อมูลการส่งข้อความการทดสอบและอื่น ๆ
เคล็ดลับ: นี่คือการแปล https://projects.spring.io/spring-framework/
3.1 บทนำ
Spring Framework จัดทำโมเดลการเขียนโปรแกรมและการกำหนดค่าที่ครอบคลุมสำหรับแอพพลิเคชั่นองค์กรที่ใช้ Java ที่ทันสมัย - บนแพลตฟอร์มการปรับใช้ทุกประเภท
องค์ประกอบสำคัญของฤดูใบไม้ผลิคือการสนับสนุนโครงสร้างพื้นฐานระดับแอปพลิเคชัน: ฤดูใบไม้ผลิมุ่งเน้นไปที่ "ไปป์ไลน์" ของแอปพลิเคชันระดับองค์กรเพื่อให้ทีมสามารถมุ่งเน้นไปที่ตรรกะทางธุรกิจระดับแอปพลิเคชันโดยไม่ต้องเชื่อมต่อที่ไม่จำเป็นกับสภาพแวดล้อมการปรับใช้ที่เฉพาะเจาะจง
3.2 คุณสมบัติการใช้งาน
เคล็ดลับ: นี่คือภาพหน้าจอจากเอกสารเว็บไซต์อย่างเป็นทางการฉันเชื่อว่ามันจะช่วยให้คุณเข้าใจได้ดีขึ้น
3.3 ข้อกำหนดขั้นต่ำ
เคล็ดลับ: ตอนนี้คอมพิวเตอร์ของคุณแนะนำให้ใช้ JDK1.8+
3.4 การเริ่มต้นอย่างรวดเร็ว
วิธีที่แนะนำในการเริ่มต้นใช้งาน Spring -Framework ในโครงการของคุณคือการใช้ระบบการจัดการการพึ่งพา - ตัวอย่างรหัสต่อไปนี้สามารถคัดลอกและวางลงในงานสร้างของคุณ
ต้องการความช่วยเหลือ? ดูคู่มือการเริ่มต้นใช้งานของเราเกี่ยวกับการสร้างกับ Maven และ Gradle
อันที่จริงมันไม่ได้เป็นเพียงแค่เว็บไซต์ทางการของฤดูใบไม้ผลิ บริษัท ใหญ่ ๆ ส่วนใหญ่ของเราในวันนี้ควรแนะนำให้เราใช้ Maven และ Gradle เพื่อจัดการการพึ่งพาแพ็คเกจ Jar Project
หากคุณใช้ Maven:
<การพึ่งพา> <การพึ่งพา> <loupId> org.springframework </groupId> <ratifactId> Spring-Context </artifactid> <sersion> 5.1.0.build-Snapshot </เวอร์ชัน> </การพึ่งพาอาศัย> <url> https://repo.spring.io/libs-snapshot </url> <napshots> <enabled> true </enabled> </napshots> </repository> </repository>
หากคุณใช้ Gradle
การพึ่งพา {compile 'org.springframework: Spring-Context: 5.1.0.build-snapshot'} ที่เก็บ {maven {url 'https://repo.spring.io/libs-snapshot'}}}}}}}}}}เคล็ดลับ: จริงๆแล้วฉันคิดว่า Gradle ควรเป็นเครื่องมือการจัดการการพึ่งพาอาศัยกันขั้นสูงกว่า Maven อย่างไรก็ตามดูเหมือนว่า บริษัท ใหญ่ ๆ ไม่ได้ใช้ Gradle หลายครั้ง อาจเป็นเพราะการสนับสนุนของ Eclipse สำหรับ Gradle นั้นไม่สมบูรณ์แบบเท่ากับความคิด Intellij
เฟรมเวิร์กสปริงมีโมดูลที่แตกต่างกันมากมาย ที่นี่เราแสดงบริบทฤดูใบไม้ผลิที่ให้ฟังก์ชั่นหลัก สำหรับตัวเลือกเพิ่มเติมดูคู่มือการเริ่มต้นใช้งานทางด้านขวา
เมื่อคุณตั้งค่าการสร้างของคุณด้วยการพึ่งพาสปริงบริบทแล้วคุณสามารถทำสิ่งต่อไปนี้ได้:
หลังจากมาถึงที่นี่เว็บไซต์อย่างเป็นทางการไม่ได้มีรายละเอียดดังนั้นเพิ่ม
วิธีที่ 1: ใช้เครื่องมือ STS เพื่อสร้างโครงการนี้ด้วยบริบทสปริงบริบท
การตระเตรียม:
เคล็ดลับ: มีข้อผิดพลาดเมื่อดาวน์โหลด หาก JDK ของคุณคือ 64 บิตและ STS ที่ดาวน์โหลดโดยตรงโดยค่าเริ่มต้นคือ 32 บิตข้อผิดพลาดนี้จะเกิดขึ้น
ดังนั้นเมื่อดาวน์โหลดคุณต้องดาวน์โหลดเวอร์ชันการจับคู่ JDK ย้าย: https://spring.io/tools/sts/all
หลังจากการดาวน์โหลดที่นี่เสร็จสมบูรณ์เราจะคลิกขวาที่พื้นที่ว่างของ IDE ของเรา -> ใหม่ -> อื่น ๆ ...
ป้อน Maven Search เลือกโครงการ Maven และสร้างโครงการ Maven
เลือกพื้นที่ทำงานเริ่มต้น
เลือกประเภทเริ่มต้น
ป้อนข้อมูลโครงการพื้นฐานและคลิกเสร็จสิ้นเพื่อให้เสร็จสมบูรณ์
จากนั้นเราควรจะเห็นโครงสร้างโครงการเช่นนี้
แก้ไขครั้งแรก pom.xml
<Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http:/MANCMMMMMMMMMMMMMMMMMMMMMMMMMMBM http://maven.apache.org/xsd/maven-4.0.0.xsd "> <moderVersion> 4.0.0 </modelversion> <moderversion>> com.xingyun </groupid> <atifactid> Spring-Context- ตัวอย่าง <name> Spring-context-sample </name> <url> http://maven.apache.org </url> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <ArtIfactId> Junit </artifactId> <sersion> 3.8.1 </Scope> <Scope> ทดสอบ </cope> </การพึ่งพา> <การพึ่งพาอาศัย> <roupId> org.springframework </groupid> <ratifactid> Spring-context <Epositories> <pository> <id> Spring-SnapShots </id> <name> สปริงสแน็ปช็อต </name> <url> https://repo.spring.io/libs-snapshot </url> <snapshots> <enabled> True </enabled> </repository> </project>
สร้างไฟล์
สวัสดี/Messageservice.java
แพ็คเกจ com.xingyun.spring_context_sample.hello; อินเทอร์เฟซ Public MessageService {String getMessage ();}สวัสดี/messageprinter.java
แพ็คเกจ com.xingyun.spring_context_sample.hello; นำเข้า org.springframework.beans.factory.annotation.autowired; นำเข้า org.springframework.stereotype.Component; @AutoWired Public MessagePrinter (บริการ MessageService) {this.service = บริการ; } โมฆะสาธารณะ printMessage () {system.out.println (this.service.getMessage ()); -เคล็ดลับ: ให้ความสนใจกับคำอธิบายประกอบนี้และอย่าลืม
app.java
แพ็คเกจ com.xingyun.spring_context_sample; นำเข้า org.springframework.context.applicationContext; นำเข้า org.springframework.context.annotation.annotation.annotationConfigapplicationContext; org.springframework.context.annotation.componentscan; นำเข้า org.springframework.context.annotation.configuration; นำเข้า com.xingyun.spring_context_sample.hello.messageprinter; com.xingyun.spring_context_sample.hello.messageservice;@configuration@componentscanpublic คลาสแอพ {@bean messageervice mockmessageservice () {ส่งคืนข้อความใหม่ () - } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {applicationcontext context = new AnnotationConfigapplicationContext (app.class); เครื่องพิมพ์ MessagePrinter = context.getBean (MessagePrinter.class); PrintMessage (); -เคล็ดลับ: โปรดทราบว่ามีสองคำอธิบายประกอบในชั้นเรียนและหนึ่งคำอธิบายประกอบในวิธีการ อย่าลืม คุณสามารถเปลี่ยนชื่อของคลาสเป็นแอปพลิเคชันบนเว็บไซต์อย่างเป็นทางการหรือเก็บชื่อแอพเริ่มต้น
โครงสร้างโครงการควรเป็นเช่นนี้หลังจากการสร้างที่ประสบความสำเร็จ
แน่นอนคุณอาจรู้สึกอึดอัดเมื่อคุณดูโครงสร้างของโครงการนี้ดังนั้นคุณจึงสามารถเลือกที่จะเปลี่ยนได้
โครงสร้างโครงการกลายเป็นสิ่งนี้:
เรียกใช้ App.main () วิธีหลัก
แหล่งที่มาของโครงการดาวน์โหลด: https://github.com/geekxingyun/javaee-framework-sample/tree/master/spring-context-sample
ภาคผนวก: การพึ่งพาแพ็คเกจ Core Jar
เคล็ดลับ: หากคุณไม่ได้เขียนแอปพลิเคชันเว็บ Java คุณจะไม่จำเป็นต้องใช้โมดูล Spring-Web
กลุ่ม | artifactid | คำอธิบาย |
org.springframework | ฤดูใบไม้ผลิ | การสนับสนุน AOP ที่ใช้พร็อกซี |
org.springframework | ฤดูใบไม้ผลิ | แง่มุมต่าง ๆ |
org.springframework | ถั่วฤดูใบไม้ผลิ | การสนับสนุนถั่วรวมถึง groovy |
org.springframework | บริบทฤดูใบไม้ผลิ | แอปพลิเคชันบริบทของแอปพลิเคชันรวมถึง abstractions ที่กำหนดเวลาและการเปลี่ยนตำแหน่ง |
org.springframework | สปริงเท็กซ์-สนับสนุน | สนับสนุนคลาสสำหรับการรวมไลบรารีบุคคลที่สามทั่วไปเข้ากับบริบทแอปพลิเคชันฤดูใบไม้ผลิ |
org.springframework | ฤดูใบไม้ผลิ | ยูทิลิตี้หลักใช้โดยโมดูลสปริงอื่น ๆ อีกมากมาย |
org.springframework | การแสดงออกของฤดูใบไม้ผลิ | ภาษาสปริงนิพจน์ (Spel) |
org.springframework | เครื่องมือในฤดูใบไม้ผลิ | ตัวแทนเครื่องมือวัดสำหรับ JVM bootstrapping |
org.springframework | ฤดูใบไม้ผลิ-แทมแคท | ตัวแทนเครื่องมือสำหรับ Tomcat |
org.springframework | Spring-Jdbc | แพ็คเกจสนับสนุน JDBC รวมถึงการตั้งค่า DataSource และการสนับสนุนการเข้าถึง JDBC |
org.springframework | Spring-JMS | แพ็คเกจสนับสนุน JMS รวมถึงคลาสผู้ช่วยในการส่ง/รับข้อความ JMS |
org.springframework | การส่งข้อความในฤดูใบไม้ผลิ | สนับสนุนสถาปัตยกรรมและโปรโตคอลการส่งข้อความ |
org.springframework | สปริง-สปริง | การทำแผนที่วัตถุ/เชิงสัมพันธ์รวมถึงการสนับสนุน JPA และ Hibernate |
org.springframework | Spring-oxm | การแมปวัตถุ/XML |
org.springframework | การทดสอบฤดูใบไม้ผลิ | สนับสนุนการทดสอบหน่วยและการทดสอบการรวมส่วนประกอบสปริง |
org.springframework | Spring-TX | โครงสร้างพื้นฐานการทำธุรกรรมรวมถึงการสนับสนุน DAO และการรวม JCA |
org.springframework | ฤดูใบไม้ผลิ | การสนับสนุนเว็บพื้นฐานรวมถึงเว็บไคลเอ็นต์และการเปลี่ยนเว็บบนเว็บ |
org.springframework | ฤดูใบไม้ผลิ | Model-View-controller ที่ใช้ HTTP และจุดสิ้นสุดสำหรับสแต็คเซิร์ฟเล็ต |
org.springframework | Spring-Webmvc-portlet | การใช้งาน MVC ที่จะใช้ในสภาพแวดล้อมพอร์ตเล็ต |
org.springframework | ฤดูใบไม้ผลิ | โครงสร้างพื้นฐาน WebSocket และ SockJS รวมถึงการสนับสนุนการส่งข้อความ Stomp |
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น