Maciej Walkowiak

Hi! đŸ‘‹

I am a freelance software consultant specialized in Java/Kotlin and Spring. I help companies in taking architecture decisions choose right and building software that's easy to evolve and maintain.

I run Spring Academy YouTube channel with video tutorials & news from the ecosystem addressed to intermediate Java & Spring developers.

Maciej Walkowiak

What's new in Spring?

Collection of the most important things that I believe you - as a Spring developer - should know to stay up to date. November 2022 edition.read more

Activate Maven Profile by Operating System

Learn how to provide different configuration to Maven build for each operating system and architecture and ensure that one of these profiles is activated.read more

Spring Boot with Thymeleaf and Tailwind CSS - Complete Guide

How to configure Spring Boot project with Maven and Thymeleaf to use Tailwind CSS including hot reload on CSS change.read more

How to publish a Java library to Maven Central - Complete Guide

Step by step guide on how to publish a Java library to Maven Central - the simplest way possible.read more

Docker Compose - waiting until containers are ready

Learn how to use Docker Compose flag wait to ensure that containers are healthy until another process starts.read more

Single file Java applications with JBang

Have you ever wanted to write a complete Java applications in single file that uses dependencies but without setting up Maven or Gradle ? Let's see how JBang can help.read more

Beautiful bash scripts with Gum

Bash scripts don't have to be boring. Learn how to create beautiful interactive bash scripts with Gum.read more

Running Java on CRaC

Step by step guide on how to run Java on CRaC and get startup timesread more

How to log PostgreSQL queries with Testcontainers

Learn how to log SQL queries for Postgres database with Testcontainersread more

Spring Boot 3.0 & GraalVM Native Image - not a free lunch

Spring Boot 3.0 introduced first class support for building GraalVM native images. Let's look at potential downsides of developing native image Spring Boot application.read more

Creating Spring Cloud Function projects with AWS SAM

Learn how to initialize new Spring Cloud Function project running on AWS Lambda with AWS SAM.read more

Loading classpath resources to String with a custom JUnit extension

Learn how to load classpath resources into a String with a custom JUnit extensions. With Spring and without Spring. You may also find it interesting if you would like to learn how to access Spring application context from custom JUnit extension.read more

Creating Project Templates with Cookiecutter

Creating new project from scratch can be tedious. Learn how save time and create project templates with Cookiecutter.read more

Auto-Registering JUnit 5 extensions

Learn how to register JUnit 5 extension for all tests without annotating each one of them with @ExtendWith.read more

Spring Boot component scanning without annotations

Spring Boot has an interesting capability - it can scan for components even for classes that are not annotated with any of the Spring stereotype annotations. This article shows how you can do it and what it can be used for.read more

Listing Maven dependencies in Spring Boot Actuator Info endpoint

Tutorial on how to expose a list of the Maven dependencies in Spring Boot Actuator Info Endpoint using information gathered by CycloneDX.read more

Spring Cloud AWS 2.3 RC2 Released

After 8 months of work, Spring Cloud AWS 2.3 released!read more

How I built vlad-cli - command line interface to Vlad Mihalcea

Short story how I built CLI tool to search Vlad Mihalcea's blog and how you can build one too with just few NodeJS packages. It's fun and simple!read more

The State of Java Relational Persistence

I had a pleasure to present topic at Spring IO conference in Barcelona. If you have spare one hour or just want to take a look at slides, jump in!read more

On Choosing a Tech Stack

Choosing a tech stack, framework, library seems to be simple problem to solve - you take the best one available on the market. The problem is that there is no such thing as the best tech. It all depends on the context and most importantly on the problem you are solving.read more