Spring Framework 3.2 goes GA

Ενα χρόνο μετά απο το Spring 3.1 ο Juergen Hoeller ανακοίνωσε την έκδοση 3.2 στο blog της springsource

Κύρια χαρακτηριστηκά είναι

  •  Refined Java SE 7 support
  •  Concurrency refinements across the framework
  •  Allowing for @Autowired and @Value to be used as meta-annotations
  •  Support for custom @Bean definition annotations in @Configuration classes
  •  Asynchronous MVC processing on Servlet 3.0, with Spring MVC handler methods being able to return Callables and DeferredResults
  •  Inclusion of the formerly-standalone Spring MVC Test project, allowing for first-class testing of Spring MVC applications
  •  Support for loading WebApplicationContexts in the TestContext framework, and further improvements for web application testing
  •  Early support for JCache 0.5 (JSR-107) as a backend for Spring’s cache abstraction

Για περισσότερες λεπτομέρειες μπορείτε να δείτε το σχετικό άρθρο της springsource εδώ

Spring Framework Series: Μερος 3ο

1. ΕΙΣΑΓΩΓΗ

Καλωσορίσατε στο 3ο μέρος της σειράς για το Spring Framework. Μέχρι τώρα είχαμε την ευκαιρία να δούμε τι είναι το Spring framework και πώς, πολύ γρήγορα, μπορούμε να στήσουμε ένα σημείο εκκίνησης για να κατασκευάσουμε μία web εφαρμογή βασισμένη στην πλατφόρμα αυτή. Πάμε τώρα να δούμε αναλυτικά τον τρόπο λειτουργίας του και τα επιμέρους κομμάτια μίας Spring MVC εφαρμογής.

ΕΤΟΙΜΟΙ; Φύγαμε!

Continue reading “Spring Framework Series: Μερος 3ο”

Εισαγωγη στο Hibernate

Αυτός ο οδηγός θα σας δείξει τη βασική χρήση του Hibernate 3.0. Το Hibernate είναι ένα open source object relational mapping tool για Java.

Προσφαίρει υψηλής απόδοσης object/relational persistence και query service για Java.

Με το Hibernate μπορείτε να φτιάξετε persistent classes και με τη Hibernate Query Language, μπορείτε να γεφυρώσετε τις σχέσεις σε όλες τις βασεις δεδομένων. Μπορείτε να χρησημοποιήσετε native SQL ή Java-based Κριτήρια.

Αυτή τη στιγμή το Hibernate είναι το πλέον δημοφιλές object/relational mapping solution για Java

Continue reading “Εισαγωγη στο Hibernate”

Spring Framework Series: Μερος 2ο

ΕΙΣΑΓΩΓΗ

Στο 1ο μέρος αυτής της σειράς κάναμε μία γενική επισκόπηση του Spring Framework και είδαμε τα πλεονεκτήματα και τις δυνατοτητες που προσφέρει στον σύγχρονο J2EE developer (και όχι μονο). Ωραία η θεωρία, όμως  χωρίς πρακτικό κομμάτι…. δεν πάιζει. Πάμε λοιπόν να δούμε στο 2o μέρος αυτής της σειράς πώς μπορούμε να στήσουμε ένα Project σε Spring μέσα σε ελάχιστο χρόνο.

Continue reading “Spring Framework Series: Μερος 2ο”

J2EE και Aspect Oriented Programming

ΕΙΣΑΓΩΓΗ

Όπως οι περισσότεροι προγραμματιστές J2EE, έχω γαλουχηθει, στο μεγαλύτερο μέρος της καριέρας μου, και για πολλά χρόνια, στην ανάπτυξη συστημάτων λογισμικού με τη χρήση τεχνικών αντικειμενοστραφούς προγραμματισμού (OOP). Η μέθοδος αυτή είναι η πλέον διαδεδομένη με κύριο χαρακτηριστικό τον κατακερματισμό ενός προβλήματος σε αντικείμενα που χαρακτηρίζονται από ιδιότητες (μέθοδους) και δεδομένα (μεταβλητές).

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

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

Σημείωση: Προτείνω γενικά τον όρο πτυχοστρεφή γιατί εκφράζει καλύτερα την έννοια aspect στα ελληνικά ακόμη και σε λειτουργικό επίπεδο.

Continue reading “J2EE και Aspect Oriented Programming”

RESTfull Services in Spring 3 MVC

SpringSourceΤα τελευταία χρόνια, το έχει γίνει η ντε φάκτο εναλλακτική λύση αντί για τις SOAP / WSDL /WS αρχιτεκτονικές. Δε μπορούσε λοιπόν να μείνει απ’εξω από τη τελευταία έκδοση του Spring τη 3.0.

Έτσι λοιπόν κατασκεύασαν μια υλοποίηση για ‘RESTful’ Web services και application και τις ενσωμάτωσαν στο @Controller model του Spring MVC.

RESTful χαρακτηριστικά στο Spring MVC 3.0

URI Templates

Ένα από τα πολύ σημαντικά χαρακτηριστικά είναι τα uri templates.

Μέχρι τώρα ήταν σχετικά δύσκολο να έχεις friendly urls. Έπρεπε να χρησιμοποιήσεις url rewriting αρκετές «πατέντες» ή κάποιο ποιο εξειδικευμένο κομμάτι του framework που να σου δίνει flows και να μανατζάρει όλο αυτό το κομμάτι.

Continue reading “RESTfull Services in Spring 3 MVC”

Spring Framework series: Μέρος 1ο

ΕΙΣΑΓΩΓΗ 

SpringSourceDecisions, decisions, decisions… λέει το γνωστό απόφθεγμα και δε θα μπορούσε να ταιριάζει καλύτερα σε ένα από το βασικά διλήμματα που έχει να αντιμετωπίσει ένας J2EE architect όσων αφορά την επιλογή middleware. Για ένα τυπικό MVC design pattern, πρέπείτε να γράψει ένα fully custom συστήμα με κάποιον controller και μια ομάδα components για business layer και επικοινωνία με τη βάση ή β) να στηριχθεί σε ένα framework που αναλαμβάνει όλες αυτές τις εργασίες για εκείνον. Μέχρι πρότινως, στη δεύτερη περίπτωση αποτελούσε σχεδόν μονόδρομο η επιλογή των Enterprise Java Beans (EJB) για τα οποία υπήρχαν διαχρονικά παράπονα που σχετίζονται με το ότι είναι βαρεία κτλ. Κάπου λοιπόν στο 2003 ξεκίνησε μία πρωτοβουλία για τη δημιουργία ενός lightweight framework το οποίο δειλά-δειλά και με μεθοδευμένα βήματα αποτελεί σήμερα τον, κατά τη γνώμη πολλών, δεύτερο πόλο ο οποίος δεν είναι άλλος από το Spring Framework. Το άρθρο αυτό αποτελεί το πρώτο σε μία σειρά άρθρων για την τεχνολογία αυτή και εστιάζεται στα γενικά χαρακτηρίστικα και τα πλεονεκτήματα της.  Continue reading “Spring Framework series: Μέρος 1ο”