Το Spring Framework εξηγείται σε 5 λεπτά ή λιγότερο

Το Spring Framework είναι ένα ισχυρό πλαίσιο ανάπτυξης εφαρμογών Java ανοιχτού κώδικα που διευκολύνει τη δημιουργία ισχυρών εφαρμογών υψηλής απόδοσης.

Ο ανοιχτός κώδικας αναφέρεται σε κάτι που οι άνθρωποι μπορούν να έχουν πρόσβαση, να τροποποιούν και να μοιράζονται ελεύθερα καθώς ο πηγαίος κώδικας είναι ελεύθερα διαθέσιμος.

Ένα πλαίσιο εφαρμογών ανοιχτού κώδικα είναι ένα πρότυπο για την ανάπτυξη λογισμικού που δημιουργήθηκε από μια ομάδα προγραμματιστών λογισμικού. Υπάρχουν διάφοροι τύποι προτύπων που χρησιμοποιούνται για διαφορετικούς σκοπούς, όπως η δημιουργία διεπαφών χρήστη, ιστοσελίδων και βασικών εφαρμογών λογισμικού.

Εάν είστε νέος στην ανάπτυξη εφαρμογών, το να ξεκινήσετε με το Spring Framework μπορεί να είναι μια καλή αρχή για εσάς. Σε αυτό το άρθρο, θα μάθετε τι είναι και πώς να το χρησιμοποιήσετε.

Τι είναι το Spring Framework;

Το Spring Framework είναι ένα πλαίσιο ανοιχτού κώδικα που χρησιμοποιούν οι προγραμματιστές για τη δημιουργία εταιρικών εφαρμογών Java. Αυτό το πλαίσιο δημιουργήθηκε από τον Rod Johnson και κυκλοφόρησε το 2003 με την άδεια Apache 2.0.

Μερικοί προγραμματιστές συνήθως τσακίζουν την Java και ισχυρίζονται ότι είναι δυσκίνητο να δημιουργείς βασικές εφαρμογές. Το Spring Framework στοχεύει στην απλοποίηση της δυσκίνητης και πολύπλοκης διαδικασίας ανάπτυξης εταιρικών εφαρμογών Java.

Η άνοιξη είναι πλατιά. Επομένως, συνιστάται να κατανοήσετε πρώτα τι είναι το πλαίσιο Spring πριν ξεκινήσετε να χρησιμοποιείτε άλλα έργα που βασίζονται στο Spring, όπως το Spring Boot, το Spring GraphQL και το Spring Cloud.

Γιατί να χρησιμοποιήσετε το Spring Framework;

  • Εύκαμπτος. Αυτό το πλαίσιο προσφέρει τεχνολογίες όπως προγραμματισμός προσανατολισμένου στις όψεις (AOP), Έγχυση εξάρτησης (DI) και Απλό Old Java Object (POJO). Μπορείτε έτσι να χρησιμοποιήσετε την Άνοιξη για να πετύχετε διαφορετικούς στόχους.
  • Η άνοιξη είναι γρήγορη. Παρά το γεγονός ότι διαθέτει όλες αυτές τις τεχνολογίες, το Spring Framework εξακολουθεί να είναι ελαφρύ, καθιστώντας το ιδανικό για τη δημιουργία επεκτάσιμων και ισχυρών εταιρικών εφαρμογών web.
  • Φοβερή κοινότητα. Η Άνοιξη έχει μια ποικιλόμορφη κοινότητα και μπορείτε να την εμπιστευτείτε για να σας βοηθήσει με διάφορες λύσεις την ώρα της ανάγκης σας.
  • Ασφαλής. Η Άνοιξη είναι γνωστή για τα μέτρα ασφαλείας της και τα τρωτά σημεία επιδιορθώνονται πάντα μέσω συχνών ενημερώσεων κώδικα. Οι εξαρτήσεις τρίτων παρακολουθούνται πάντα για να διασφαλιστεί ότι τα τρωτά σημεία τους δεν παρεμβαίνουν στη βασική διαδικασία.
  • Παραγωγικός. Το Spring Framework εκσυγχρονίζει την εμπειρία ανάπτυξης εταιρικών εφαρμογών Java.
  Πώς λειτουργούν οι νέες ειδοποιήσεις έκθεσης του iPhone σας σε COVID-19

Χαρακτηριστικά Springs

Υποστηρίζει προγραμματισμό προσανατολισμένο σε πτυχές

Ο προγραμματισμός προσανατολισμένος στις πτυχές παρέχει περισσότερη αρθρωτή προσαρμογή σε εγκάρσιες ανησυχίες. Το AOP επαινεί επίσης τον αντικειμενοστραφή προγραμματισμό.

Η κύρια μονάδα αρθρωτότητας στο AOP είναι μια διατομεακή ανησυχία (Aspect). Οι προγραμματιστές μπορούν έτσι να δημιουργήσουν δηλωτικές εταιρικές υπηρεσίες και προσαρμοσμένες πτυχές.

Περιέκτης Inversion of Control (IoC).

Το κοντέινερ IoC προσφέρει έναν βελτιωμένο τρόπο διαχείρισης και διαμόρφωσης αντικειμένων Java. Ο κύκλος ζωής ενός καθορισμένου αντικειμένου Java διαχειρίζεται αυτό το κοντέινερ, γεγονός που αυξάνει σημαντικά τη δυνατότητα επαναδιαμόρφωσης μιας εφαρμογής που βασίζεται σε Spring.

Το Inversion of Control χρησιμοποιεί μοτίβα αναζήτησης εξάρτησης ή ένεσης εξάρτησης για να προσφέρει το χρόνο εκτέλεσης αναφοράς αντικειμένου. Το δοχείο IoC συνοδεύεται από κωδικό assembler που απαιτείται για τη διαχείριση της διαμόρφωσης.

Πλαίσιο πρόσβασης δεδομένων

Η διαδικασία επικοινωνίας δεδομένων απλοποιείται καθώς το Spring έχει άμεση υποστήριξη για Hibernate, JDBC και Java Persistence API (JPA), μερικά από τα πιο δημοφιλή πλαίσια πρόσβασης δεδομένων στην Java. Μπορείτε επίσης να βασιστείτε σε αυτό το πλαίσιο για να προσφέρετε λειτουργίες όπως αναδίπλωση πόρων, χειρισμός εξαιρέσεων και διαχείριση πόρων για όλα τα υποστηριζόμενα πλαίσια πρόσβασης δεδομένων.

Πλαίσιο Spring MVC

Οι προγραμματιστές μπορούν να χρησιμοποιήσουν αυτό το πλαίσιο που βασίζεται σε αιτήματα για να δημιουργήσουν προσαρμοσμένες υλοποιήσεις MVC που ταιριάζουν στις ανάγκες τους.

Η κλάση DispatcherServlet, η οποία είναι επιφορτισμένη με το χειρισμό των αιτημάτων των χρηστών και στη συνέχεια την προώθηση τους στον σωστό ελεγκτή, βρίσκεται στον πυρήνα του Spring MVC. Ο ελεγκτής μπορεί έτσι να επεξεργαστεί ένα αίτημα, να δημιουργήσει ένα μοντέλο και να προσφέρει πληροφορίες στον τελικό χρήστη μέσω μιας καθορισμένης προβολής.

Διαθέτει διάφορα πλαίσια δοκιμής

Μπορείτε να δοκιμάσετε τις εφαρμογές σας που βασίζονται στο Spring καθώς τις αναπτύσσετε μέσω αντικειμένων Mock, του πλαισίου TestContext ή του Spring MVC Test.

Γλωσσική υποστήριξη

Το Spring Framework υποστηρίζει Groovy και Kotlin.

Αρχιτεκτονική της Άνοιξης

Το Spring Framework συνοδεύεται από περίπου 20 ενότητες. Το καλό με αυτό το πλαίσιο είναι ότι σας επιτρέπει να επιλέξετε ενότητες που ισχύουν για την περίπτωση χρήσης σας. Αυτές οι ενότητες ομαδοποιούνται σε Core Container, AOP (Aspect Oriented Programming), Data Access/Integration, Web, Instrumentation και Test.

Πίστωση εικόνας: Spring.io

#1. Δοχείο πυρήνα

Το Core Container του Spring Framework περιέχει μοντέλα Core, Beans, Context και Expression Language. Αυτά τα γλωσσικά μοντέλα είναι χρήσιμα με τους ακόλουθους τρόπους:

  • Η ενότητα Core είναι το θεμελιώδες μέρος του πλαισίου. Θα βρείτε τις λειτουργίες IoC και Dependency Injection στον Core.
  • Η μονάδα Bean είναι γνωστή για το BeanFactory, μια εξελιγμένη εφαρμογή του εργοστασιακού μοτίβου.
  • Η λειτουργική μονάδα Context είναι χτισμένη στις μονάδες Core και Bean. Αυτή η ενότητα κληρονομεί τα χαρακτηριστικά της από τη μονάδα Bean, αλλά προσθέτει υποστήριξη για διεθνοποίηση.
  • Η ενότητα Expression Language προσφέρει μια ισχυρή γλώσσα έκφρασης για το χειρισμό και την αναζήτηση ενός γραφήματος αντικειμένου κατά το χρόνο εκτέλεσης.
  Διορθώστε το πρόγραμμα οδήγησης Microsoft IPP Class δεν προσφέρει χρώμα, μόνο κλίμακα του γκρι

#2. Πρόσβαση/Ενσωμάτωση δεδομένων

Οι λειτουργικές μονάδες JDBC, ORM, OXM, JMS και Transaction αποτελούν το επίπεδο πρόσβασης/ενσωμάτωσης δεδομένων. Αυτές οι ενότητες εκτελούν τα ακόλουθα:

  • Η λειτουργική μονάδα JDBC έχει ένα επίπεδο αφαίρεσης JBDC που εξαλείφει την ανάγκη να κάνετε κουραστική κωδικοποίηση JDBC καθώς και ανάλυση κωδικών σφαλμάτων που σχετίζονται με τον προμηθευτή της βάσης δεδομένων.
  • Το ORM είναι ένα επίπεδο ολοκλήρωσης για ορισμένα από τα δημοφιλή αντικειμενοσχεσιακά API χαρτογράφησης όπως τα JPA, JDO, Hibernate και iBatis. ‘
  • Η λειτουργική μονάδα OXM είναι ένα επίπεδο αφαίρεσης που υποστηρίζει εφαρμογές αντιστοίχισης αντικειμένων/XML για XStream, JAXB, JiBX, Castor και XMLBeans.
  • Η ενότητα Transaction υποστηρίζει δηλωτική και προγραμματική διαχείριση συναλλαγών για κλάσεις που υλοποιούν ειδικές διεπαφές.
  • Η λειτουργική μονάδα Java Messaging Service (JMS) διαθέτει λειτουργίες που παράγουν και καταναλώνουν μηνύματα.

#3. AOP (Aspect Oriented Programming) και Instrumentation

Αυτή η ενότητα συνοδεύεται από εφαρμογή προγραμματισμού προσανατολισμένη στις πτυχές συμβατή με το AOP Alliance, η οποία διευκολύνει τον ορισμό πραγμάτων όπως οι μέθοδοι παρεμπόδισης. Από την άλλη πλευρά, η μονάδα Instrumentation προσφέρει υποστήριξη εργαλείων φόρτωσης κλάσης και κλάσης για χρήση σε ορισμένους διακομιστές εφαρμογών.

#4. Ιστός

Οι ενότητες Web, Web-Servlet, Web-Struts και Web-Portlet αποτελούν το επίπεδο Web.

  • Η λειτουργική μονάδα Web είναι υπεύθυνη για βασικές δυνατότητες ενσωμάτωσης προσανατολισμένες στον ιστό, όπως η λειτουργία μεταφόρτωσης αρχείων πολλαπλών μερών.
  • Η ενότητα Web-Servlet διαθέτει την εφαρμογή MVC της Spring για εφαρμογές web.
  • Η λειτουργική μονάδα Web-Portlet αντικατοπτρίζει τη λειτουργικότητα της μονάδας Web-Servlet. Η μονάδα Web-Portlet προσφέρει υλοποίηση MVC για χρήση σε περιβάλλον πύλης.
  • Η μονάδα Web-Socket υποστηρίζει αμφίδρομη επικοινωνία μεταξύ διακομιστή και πελάτη σε εφαρμογές web.

#5. Δοκιμή

Η ενότητα Test είναι το τελευταίο μέρος της αρχιτεκτονικής του Spring. Είναι η μονάδα που υποστηρίζει τη δοκιμή στοιχείων Spring με TestNG ή JUnit.

Εγκαταστήστε το Spring Framework

Ελέγξτε ότι η Java είναι εγκατεστημένη

Πριν μάθουμε πώς λειτουργεί το Spring Framework, πρέπει να εγκαταστήσουμε το Spring στον υπολογιστή μας. Η τεκμηρίωση Spring έχει εκτενείς πόρους για το πώς να ξεκινήσετε ανάλογα με το λειτουργικό σας σύστημα.

Για την περίπτωσή μας, θα χρησιμοποιήσουμε το Ubuntu 20.04.5, ένα λειτουργικό σύστημα που βασίζεται σε Linux.

Πριν εγκαταστήσετε το Spring, βεβαιωθείτε ότι έχετε εγκαταστήσει την Java χρησιμοποιώντας αυτήν την εντολή

java -version

Εάν έχετε εγκαταστήσει Java, θα έχετε μια έξοδο παρόμοια με αυτό το στιγμιότυπο οθόνης.

Εάν δεν το έχετε στον υπολογιστή σας, υπάρχουν διάφορες προσεγγίσεις για να εγκαταστήσετε την Java με βάση τις ανάγκες σας.

Εγκαταστήστε το πλαίσιο Spring

Υπάρχουν διάφορες προσεγγίσεις για την εγκατάσταση του πλαισίου Spring, όπως επισημαίνεται στα έγγραφα Spring.

  Πώς Αντέχει;

Για την περίπτωσή μας, θα χρησιμοποιήσουμε το GVM (το Groovy Environment Manager). Μπορείτε να λάβετε το GVM χρησιμοποιώντας το GVMtool ή να το εγκαταστήσετε στη γραμμή εντολών.

Αφού έχετε το GVM, χρησιμοποιήστε τις ακόλουθες εντολές για να εγκαταστήσετε και να ελέγξετε εάν είναι εγκατεστημένο το πλαίσιο Spring

gvm install springboot
spring --version

Είναι πιθανό να λάβετε μια έξοδο που μοιάζει με αυτήν εάν εγκατασταθεί το Spring

Σημαντικοί όροι που σχετίζονται με το πλαίσιο Spring

Ενεση εξάρτησης

Το Dependency Injection είναι μια δυνατότητα που επιτρέπει στους προγραμματιστές να δημιουργούν ανεξάρτητα αντικείμενα εκτός κλάσης. Το DI επιτρέπει επίσης στους χρήστες να παρέχουν αυτά τα αντικείμενα σε μια κλάση με διαφορετικούς τρόπους.

Αντιστροφή ελέγχου (IoC)

Το IoC είναι μια έννοια που μεταφέρει τον έλεγχο τμημάτων ενός προγράμματος ή αντικειμένων σε ένα πλαίσιο ή κοντέινερ. Στον παραδοσιακό προγραμματισμό, ο προσαρμοσμένος κώδικας μας πραγματοποιεί κλήσεις σε μια βιβλιοθήκη. Από την άλλη πλευρά, το IoC επιτρέπει σε ένα πλαίσιο (σε αυτήν την περίπτωση το Spring) να πραγματοποιεί κλήσεις στον προσαρμοσμένο μας κώδικα και να ελέγχει τη ροή του προγράμματος.

Προγραμματισμός με προσανατολισμό στις πτυχές (AOP)

Το AOP είναι μια τεχνική για τη δημιουργία κοινών και επαναχρησιμοποιήσιμων ρουτινών που μπορούν να εφαρμοστούν σε ολόκληρη την εφαρμογή. Μια τέτοια προσέγγιση διαχωρίζει επαναλαμβανόμενες εργασίες (όπως επικύρωση εισόδου, καταγραφή και διαχείριση σφαλμάτων) από τη λογική της βασικής εφαρμογής.

Πηγές μάθησης Spring Framework

#1. Reactive Programming with Spring Framework 5

Αυτό το ανοιξιάτικο μάθημα αποτελείται από βίντεο, άρθρα και πόρους με δυνατότητα λήψης. Το μάθημα διδάσκει λειτουργικό προγραμματισμό με Java, πώς να κάνετε μικροϋπηρεσίες με το Spring WebFlux και πώς να αξιοποιήσετε τους τύπους Reactive στο Spring Data MongoDB.

#2. Master Class Spring Framework

Το Spring Framework Master Class είναι μάθημα επί πληρωμή που διδάσκει τον πραγματικό τρόπο που χρησιμοποιούν τα έργα Java το Spring Framework. Θα μάθετε πώς να χρησιμοποιείτε διάφορα εργαλεία όπως Spring Boot, JUnit & Mockito, Spring JDBC, Spring AOP και Hibernate.

#3. Πλαίσιο άνοιξη σε εύκολα βήματα

Το Spring Framework In Easy Steps είναι ένα ιδανικό μάθημα υψηλής ποιότητας για να παρακολουθήσετε εάν θέλετε να δημιουργήσετε εφαρμογές Web Java EE από End to End χρησιμοποιώντας το Spring Framework. Μερικά από τα πράγματα που θα μάθετε είναι πώς να αναπτύσσετε εφαρμογές Ιστού χρησιμοποιώντας το Spring MVC, πώς να πραγματοποιείτε κλήση Ajax χρησιμοποιώντας JQuery και Spring MVC και πώς να χρησιμοποιείτε το Spring JDBC για την εκτέλεση λειτουργιών βάσης δεδομένων, για να αναφέρουμε μερικά.

#4. Εαρινό πλαίσιο 5

Το μάθημα Spring Framework 5 είναι ιδανικό αν θέλετε να μάθετε Learn Spring Framework 5, Spring Data MongoDB, Spring Boot 2, Spring MVC, Spring Data JPA και Hibernate. Μπορείτε να αξιοποιήσετε τις 57 ώρες βίντεο κατ’ απαίτηση, 13 άρθρα και πολλά υλικά με δυνατότητα λήψης.

Σημείωση του συγγραφέα

Η Java παραμένει μια από τις πιο δημοφιλείς γλώσσες προγραμματισμού στον σύγχρονο κόσμο. Παρόλο που εισάγονται νέες γλώσσες, πλαίσια όπως το Spring δίνουν νέα ζωή στην Java και επεκτείνουν τη χρησιμότητά της. Επομένως, είναι πιθανό να συνεχίσουμε να έχουμε ζήτηση για μηχανικούς Java, καθώς χρειάζονται για τη διατήρηση του κώδικα παλαιού τύπου και τη δημιουργία νέων εφαρμογών.

συμπέρασμα

Το Spring κατατάσσεται ψηλά μεταξύ των πλαισίων Java EE και ελπίζουμε ότι τώρα καταλαβαίνετε τι είναι το Spring Framework, τα χαρακτηριστικά, την αρχιτεκτονική και τη διαδικασία εργασίας του. Όταν συνδυάζεται με άλλα έργα Spring, το Spring Framework προσφέρει στους προγραμματιστές διάφορα εργαλεία ανάπτυξης που μπορούν να χρησιμοποιηθούν σε διαφορετικά περιβάλλοντα ανάπτυξης.