my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

New Java Features From Java 8 to Java 17: A Comprehensive Overview (Including Examples)

This useful article on Java Features from Java 8 to Java 17 (published on Reflectoring) provides a comprehensive overview of Java language features for each of the major Java versions that have ben released since 2014. Such a list comes in handy not only when dealing with different Java versions for different applications or projects but, especially due to the examples provided, can also serve as a conducive starting point for (re-)familiarising oneself with the features added to the core language with ... Read more

Spring Framework RCE Vulnerability With War File Deployments on Tomcat

Yesterday, an RCE vulnerability in the Spring Framework has been announced: Spring Framework RCE, Early Announcement CVE-2022-22965: Spring Framework RCE via Data Binding on JDK 9+ While, as of now, only WAR deployments of Spring Boot applications running under Apache Tomcat seem to be affected, it is still recommended to upgrade to Spring Boot 2.6.6 as soon as possible, even for Spring-based applications deployed as a JAR, because "the vulnerability is more general, and there may be other ways to exploit it that have ... Read more

The Recent Log4j2 Vulnerability and How to Address it in Spring Boot Applications

By now, you probably will have heard about the Log4Shell 0-day exploit in Log4j 2 already. Since this is relevant to every Java developer and potentially every Java and hence - by extension - every Spring Boot application out there, I'd like to address this issue and how to mitigate it in Spring Boot applications. When using the default settings without any other dependencies, Spring Boot applications in general won't be vulnerable because Spring Boot uses Logback in its starter dependencies. However, if your ... Read more

Java Language Features Introduced From Versions 8 Through 17

The Java programming language and the Java Virtual Machine (JVM) are known for being very stable and favouring compatibility over new language-level features. This focus on stability arguably is one of the reasons why Java is so popular with larger companies, particularly those of the enterprise variety, where reliability, maintainability and a long-term outlook are key and typically more important than the latest and greatest features. However, starting in 2017, with the Java release cycle changed to rapid 6-months iterations, from the previous ... Read more

Revisiting Popular Posts: Spring Batch Resources & Maven Failsafe With Spring Boot

Two of the most popular posts on this blog cover resources for Spring Batch and how to use Maven Failsafe with Spring Boot: Spring Batch Resources: Batch Processing, ETL And Data Conversion Using Maven Failsafe With Spring Boot While doing some regular blog housekeeping, I recently revised those articles and fixed a few broken links. If you're interested in these technologies and frameworks, you might want to check those articles out. Read more

A Concise Overview of Java’s Instant, LocalDateTime, ZonedDateTime and When to Use Which

The authoritative answer to a question on Stack Overflow on the difference between Instant and LocalDateTime covers various classes from the Java 8 Date/Time API and how those are actually meant to be used. Names such as LocalDateTime can be misleading in that they suggest a specific locale or locality rather than any locality (as that name is intended). This, in turn, can give rise to problems with inaccurate date and time values if timezones or even just daylight saving time have ... Read more

Using Maven Failsafe With Spring Boot

Maven Failsafe is a Maven plugin designed to be used in conjunction with the Maven Surefire Plugin. While the former plugin is intended for running integration tests the latter's purpose is to run unit tests. These plugins are tremendously useful for partitioning tests in Maven-based Java applications in order to make tests and builds run faster. When recently using Maven Failsafe with a Spring Boot application, though, I encountered a somewhat gnarly problem. Running mvn verify caused this error for all of the ... Read more

“Paging with Spring Boot” by Tom Hombergs: A Guide to Paging and Pagination in Spring-based Web Applications

In his article Paging with Spring Boot software engineer Tom Hombergs (a former fellow student) provides an in-depth explanation of paging and pagination concepts and how to implement those in web applications with Spring Data and its Pageable interface. The article covers aspects such as sorting, usage with Spring Data repositories and testing. It's a useful reference for iteratively retrieving and displaying a larger amount of items from a database in a Spring Boot and Spring Data context in an efficient manner. There's ... Read more

OAuth 2.0 Authentication with Jira – A Spring Boot Example Application

When dealing with the specifics of authentication techniques and protocols such as OAuth the devil often is in the detail. While the OAuth 2.0 protocol generally is easy to grasp and simple to use implementation details for specific authentication providers can easily have you hit a snag fairly quickly. Documentation and examples sometimes are outdated or scattered across several - sometimes contradictory documents. Additionally, examples for the authentication provider you want to use might not have been written with your framework of ... Read more
Next Page »