Προγραμματισμός Web εφαρμογών με Spring Boot – Μέρος 2o

Στο δεύτερο μέρος της σειράς μας, θα δούμε σε βάθος το Spring Boot.

Τη φιλοσοφία του Spring Boot και τα πλεονεκτήματα που έχει να μας προσφέρει.

Η ανάπτυξη εφαρμογών με τον παραδοσιακό τρόπο απαιτεί να γραφτεί μεγάλος όγκος κώδικα, και συχνά χρησιμοποιείται κώδικας από τρίτους.  Αυτό κάνει την εφαρμογή μας να είναι επιρρεπείς σε σφάλματα.

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

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

Υπάρχουν τρείς βασικές αρχές:

1η Αυτόματη διαμόρφωση

Ενσωματωμένες λειτουργίες που ρυθμίζουν την εφαρμογή μας με βάση τις βιβλιοθήκες που υπάρχουν στον class path μας.

Αυτό σημαίνει λιγότερος κώδικας και λιγότερο χρόνος για ρυθμίσεις

2η Συμβάσεις έναντι διαμόρφωσης 

Δεν χρειάζονται εκτενή αρχεία ρυθμίσεων αλλά βασίζεται σε κοινές συμβάσεις, που έχουν ως στόχο την απλοποίηση και τη μείωση των σφαλμάτων.

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

Συμβάσεις ονομασία μέσα στις κλάσεις μας, εντοπίζοντας έτσι τις εξαρτίσεις.

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

3η Ταχύτερη ανάπτυξη μέσω μείωσης κώδικα

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

Βασικές έννοιες και τα annotations.

Μέσω των Spring Starter Project που είναι προ ρυθμισμένα πακέτα με τις εξαρτήσεις τους.  

Με τη χρήση του οδηγού αναφέρουμε στο βίντεο τι κάνει κάθε επιλογή.

Αναφέρουμε επίσης και τα annotations: 

Τα οποία είναι οδηγίες προς το Spring Boot τι αναμένουμε ακριβώς από μια κλάση ή μέθοδο στο κώδικα μας.

Έτσι αποφεύγουμε τον περίπλοκο κώδικα, μπορούμε να ορίσουμε τα annotations  ως συντομογραφίες.

Ως παράδειγμα είδαμε το @Controller που είναι υπεύθυνο για τη διεκπεραίωση web requests.

Το Auto Configuration.

Είναι μια βασική λειτουργία, ένας αυτοματοποιημένος μηχανισμός που ρυθμίζει διάφορες πτυχές της εφαρμογής.  Εντοπίζει τις εξαρτήσεις και τα annotations, σαρώνοντας το class path.

Διαχείριση εξαρτήσεων με το Maven.

Το maven είναι ένα build automation εργαλείο, που εντοπίζει και κατεβάζει τις απαραίτητες εξαρτήσεις.  Χρησιμοποιεί το POM αρχείο, (Project Object Model) που περιέχει όλα τα metadata του έργου μας.  

Στο βίντεο μας βλέπουμε με λεπτομέρεια το maven.

Αναλύσαμε επίσης και το effective POM, που είναι μια συγχώνευση του απλού pom με το super pom, που είναι ένας ορισμός από προκαθορισμένες δηλώσεις που μοιράζονται όλα τα έργα μας. 

Παράδειγμα ενός απλού website

Για τη δημιουργία ενός απλού website, βρήκαμε μια έτοιμη σελίδα από το διαδίκτυο και με αλλαγές στην εφαρμογή μας καταφέραμε να ζητήσουμε το email από τον χρήστη και να το δείξουμε στην οθόνη.  

Εκτέλεση και συσκευασία εφαρμογής

Στο βίντεο εξηγήσαμε τις 4 διαφορετικές φάσεις που στην ουσία είναι διαδικασίες που εκτελούνται αυτόματα.

Το Clean, που καθαρίζει οπουδήποτε κτισμένο κώδικα,

Το Compile, που χτίζει όλο τον java κώδικα μας σε byte code.

Το Process Resources που επεξεργάζεται κώδικα όπως html αρχεία, φωτογραφίες κ.α. 

Το Package, που ενσωματώνει τον byte code κώδικα τα resources και όλα τα dependencies σε ένα αρχείο για εκτέλεση σε web server.

Αναλύσαμε σε βάθος το συμβαίνει στο παρασκήνιο όταν πατάμε το κουμπί εκκίνησης.

Προηγμένα θέματα

σε αυτό το μέρος, μέσω παραδείγματος είδαμε τη χρήση του thymeleaf και το πως μπορούμε να μεταφέρουμε πληροφορίες από τον java κώδικα μας πίσω στο χρήστη.  

Επίσης είδαμε τη διαδικασία για τα fragments που μας βοηθάνε να εντοπίσουμε τα κοινά σημεία στα html θέματα μας και να αποφύγουμε την επανάληψη κώδικα.  

Συμπεράσματα

Το Spring Boot, ένα πλαίσιο ανάπτυξης εφαρμογών Java, έχει σχεδιαστεί με στόχο να απλοποιήσει και να επιταχύνει σημαντικά τη διαδικασία δημιουργίας σύγχρονων εφαρμογών. Με βασικές αρχές όπως η αυτόματη διαμόρφωση και η προώθηση των συμβάσεων έναντι της εκτεταμένης διαμόρφωσης, το Spring Boot επιτρέπει στους προγραμματιστές να επικεντρωθούν στην επιχειρηματική λογική των εφαρμογών τους, μειώνοντας σημαντικά τον απαραίτητο κώδικα boilerplate. Παρέχοντας έτοιμες υποδομές, βιβλιοθήκες και εργαλεία, όπως τα Spring Starter Projects, τα annotations και το Maven, το Spring Boot προσφέρει μια ολοκληρωμένη λύση για την ανάπτυξη εφαρμογών. Επιπλέον, η δυνατότητα αυτόματης διαμόρφωσης, που ρυθμίζει αυτόματα το περιβάλλον Spring, εξαλείφει την ανάγκη για εκτεταμένη χειροκίνητη διαμόρφωση, εξοικονομώντας χρόνο και μειώνοντας τα περιθώρια για λάθη. Με τη χρήση εξαρτήσεων όπως το Thymeleaf για τη δημιουργία δυναμικών ιστοσελίδων και drivers για τη σύνδεση με βάσεις δεδομένων, το Spring Bootαπλοποιεί περαιτέρω τη διαδικασία ανάπτυξης, παρέχοντας στους προγραμματιστές τα απαραίτητα εργαλεία για την υλοποίηση των εφαρμογών τους. Συνολικά, το Spring Boot αποτελεί μια ισχυρή και ευέλικτη επιλογή για την ανάπτυξη εφαρμογών Java, επιτρέποντας στους προγραμματιστές να δημιουργούν πιο γρήγορα, πιο αξιόπιστες και πιο εύχρηστες εφαρμογές.

Αφήστε ένα Σχόλιο

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners. View more
Cookies settings
Accept
Decline
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active

Who we are

Our website address is: http://stavrosbyte.eu.

Comments

When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection. An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

Cookies

If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year. If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser. When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed. If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website. These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue. For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Visitor comments may be checked through an automated spam detection service.
Save settings
Cookies settings