Spring Framework 6.0.0 is generally available from Maven Central now! It was quite some time since a major release last happened but this release focuses on 2023 for embracing current and upcoming innovations in OpenJDK and the Java ecosystem. At the same time, it is carefully designed it as a straightforward upgrade from Spring Framework 5.3.x
Spring
Logging Failed and Successful Authentication Attempts with SpringBoot
Introduction
In the latest OWASP top 10 (OWASP Top 10:2021) list with, the well known standard awareness document for developers and web application security that represents a broad consensus about the most critical security risks to web applications, a mentioned is made regarding identification and authentication failures (A07:2021 – Identification and Authentication Failures). Previously known as “Broken authentication” it refers to the dangers a web application has from week authentication implementations. Bellow I am going to demonstrate the implementation of one of the counter measures which is to be able to log authentication attempts whether these are successful or not. Continue reading “Logging Failed and Successful Authentication Attempts with SpringBoot”
Dockerizing Java Applications the right way
I have created a video and I am showing how to place your java application to a docker container BUT in addition I am showing you how to build the application in the container without needing java runtime in the host machine.
Hope you like it
Subscribe to my youtube channel: https://www.youtube.com/channel/UCw_oF0_P645jIECXAlh9Jsw
Use this url to dowload the awesome GitKraken software: https://www.gitkraken.com/invite/pPxN…
Gist: https://gist.github.com/diakogiannis/
Thanks perigialli tavern for giving the space to shoot: https://www.facebook.com/perigiali.estiatorio
Deploying a Quarkus or any java based microservice behind an Nginx reverse proxy with ssl using docker
Reposted in my medium blog here
It has been a while but as per a friend requested I am going to show you how to deploy a Quarkus microservice behind an Nginx reverse proxy using docker.
What are we going to do…
I am going to install docker and docker-compose on a centos 8 host and I am going to deploy a docker container that will expose Nginx on ports 80 and 443 and a microservice using Quarkus. The same technique can be used with ANY java microservices framework like microprofile, Springboot etc because in the end what you will do is run a simple jar file (java is magic right?).
Let’s start…
I am going to skip the installation details for docker and docker-compose. In case you haven’t heard of docker-compose have look here https://gabrieltanner.org/blog/docker-compose and you’ll love it. It automates your container deployments and it just rocks! Continue reading “Deploying a Quarkus or any java based microservice behind an Nginx reverse proxy with ssl using docker”
Netbeans Day Athens 2017 – Springboot made easy with Netbeans
Alexius Diakogiannis Lead Architect at UniSystems talks about SpringBoot made Easy with Netbeans hosted at Unisystems on Friday 21 April.
Unfortunately the video is of poor quality. Source code can be found here https://github.com/NetBeansDay/042117-Athens
Βγήκε το NetBeans Spring Boot plugin για το Spring Boot v1.4.
Κυκλοφόρισε το NetBeans Spring Boot plugin για το Spring Boot v1.4.
Το plugin ειναι διαθέσιμο στο Plugin Manager του NetBeans IDE 8.1 και στο NetBeans Plugin Portal:
http://plugins.netbeans.org/plugin/67888/nb-springboot
Continue reading “Βγήκε το NetBeans Spring Boot plugin για το Spring Boot v1.4.”
Utilizing Spring Data JPA to simplify the Data Access Infrastructure
Παρακατω θα μιλήσουμε για τις δυνατοτητες του Spring Data και πως μπορουμε να τις εφαρμοσουμε σε υπαρχοντες μηχανισμους επικοινωνιας με την Βαση Δεδομενων με την χρηση του JPA programming Interface.
Λιγα λογια για το Java Persistence API.
To spring Data ειναι ενα σχετικα νεο project που στοχο εχει να απλοποιησει την διαδικασια ανταλλαγης δεδομενων με την Βαση Δεδομενων που χρησιμοποιουμε, το λεγομενο data access layer δηλαδη.
Πιο συγκεκριμενα θα δουμε στην πραξη το subproject Spring Data JPA που απλοποιει σημαντικα τις διαδικασιες ανταλλαγης δεδομενων μας στο repository layer οταν χρησιμοποιουμε JPA annotated Pojos(Plain old Java classes). Πρακτικα δηλαδη ειναι οι γνωστες java κλασεις που υλοποιουν την συμβαση που οριζει το Java Persistence API (JPA). Η συμβαση αυτη οριζει οτι πρεπει να τοποθετησουμε ορισμενα annotations τοσο στην κλαση μας οσο και στις μεταβλητες που περιλαμβανει αυτη η κλαση.
Τα annotations αυτα στην ουσια υλοποιουν το γνωστο ORM(Object Relational Mapping) ή πιο απλα την συνδεση κλασεων και tables μιας βασης δεδομενων.
Ειναι δηλαδη τα annotations αυτα καποια extra πληροφορια, συμφωνη με τον τροπο που οριζει το JPA interface , και υλοποιησιμη απο τον μηχανισμο που επεκτεινει το JPA interface και επικοινωνει πραγματικα με την Βαση Δεδομενων. To πλεον διαδεδομενο Framework που υλοποιει το JPA interface και τα JPA annotations προκειμενου να συνδεσει τις κλασεις με τα tables της Βασης Δεδομενων ειναι το Hibernate.
Πριν περασουμε στις ευκολιες που παρεχει το Spring Data JPA Και στο πως αυτο μπορει να εφαρμοστει στο project μας, Θα δουμε αρχικα ενα πραγματικο παραδειγμα επικοινωνιας με την βαση με τον «παραδοσιακο τροπο».
Continue reading “Utilizing Spring Data JPA to simplify the Data Access Infrastructure”
Consuming a RESTful Web Service
Σε αυτό το άρθρο θα μάθουμε πως μπορούμε με το Spring να καλέσουμε και να “καταναλώσουμε” ένα RESTful Web Service με τη χρήση του RestTemplate.
Η ανταλαγή μηνυμάτων JSON με χρήση AJAX στο Web είναι ίσως το δυνατότερο και ευκολότερο εργαλείο ενώς προγραμματιστή. Το spring εκεί με τα @ResponseBody και με τη χρήση του Jackson έχει απλοποιήσει εκπληκτικά τα πράγματα στην ανταλαγή μηνυμάτων. Περισσότερες πληροφορίες γι’ αυτό θα βρείτε εδώ Building a RESTful Web Service. Τι γίνεται στην περίπτωση όμως που θέλουμε να καλέσουμε μια RESTful μεθοδο ενώς άλλου WS μέσα απο μια δικιά μας μέθοδο και να κάνουμε map τα αποτελέσματά της? Το Spring το κάνει επίσης πάρα πολύ εύκολο. Ξεκινάμε…
Create a JNDI Datasource with Tomcat 7
Μια multi-user εφαρμογή που χρησημοποιεί κάποια database δεν μπορεί να είναι αξιόπιστη αν δεν χρησημοποιεί connection pooling. Ο Tomcat 7 αντικατέστησε την απο προεπιλογή common-dbcp βιβλιοθήκη του με το Tomcat JDBC. Μπορειτε να δειτε εδώ http://www.tomcatexpert.com/blog/2012/01/24/using-tomcat-7-jdbc-connection-pool-production και εδώ http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency μερικά άρθρα γι αυτό το ζήτημα.
Έστωσαν οτι θέλουμε να φτιάξουμε ενα τέτοιο pool σε εναν Tomcat 7 για μια MySQL βάση δεδομένων. Ισοδύναμα βήματα γίνονται για ολες τις αλλες βάσεις. Τα βήματα που κάνουμε είναι τα εξής.
Continue reading “Create a JNDI Datasource with Tomcat 7”
Aspect Oriented Programming (AOP) σε Spring
Σε αυτό το άρθρο θα δούμε πως μπορούμε να χρησιμοποιήσουμε τα Annotations του AspectJ μαζί με Spring AOP για να αναχαιτίσουμε μεθόδους και να τρέξουμε κώδικα που χρειαζόμαστε πριν ή μετά την αναχαιτισμένη μέθοδο. Αυτή η τεχνική μας επιτρέπει να εκτελούμε διαδικασίες όπως Logging, Transactions και Profiling χωρίς να χρειαστεί να αλλάξουμε τον υπάρχων κώδικα.
Προαπαιτούμενα
1. pom.xml Εισάγουμε στο pom.xml τα παρακάτω:
[code language=”xml”]
[/code]
Continue reading “Aspect Oriented Programming (AOP) σε Spring”