All articles
				
			
		
		- 
					How I document production-ready Spring Boot applications Sep 8, 2025
				
- 
					How I test production-ready Spring Boot applications Jul 30, 2025
				
- 
					How I write production-ready Spring Boot applications Jun 24, 2025
				
- 
					Combine Testcontainers and Spring Boot with multiple containers May 14, 2025
				
- 
					Thymeleaf and TailwindCSS 4.0 updates Jan 29, 2025
				
- 
					Problems I no longer have by using Server-side rendering Dec 31, 2024
				
- 
					Redirect attributes with Spring MVC and htmx Nov 19, 2024
				
- 
					Technical presentations with Slidev Nov 5, 2024
				
- 
					Using React components in a Spring Boot Thymeleaf project Oct 15, 2024
				
- 
					Authoring Web Components in a Spring Boot Thymeleaf project Oct 3, 2024
				
- 
					Spring Integration using JSON serialization Jul 10, 2024
				
- 
					Transactional Outbox pattern with Spring Boot Jun 25, 2024
				
- 
					Rapid application prototyping with Bootify Feb 12, 2024
				
- 
					Htmx global error handler Dec 14, 2023
				
- 
					Book launch: Modern frontends with htmx Dec 3, 2023
				
- 
					Ttcli release 1.0.0 Oct 25, 2023
				
- 
					Taming Thymeleaf update for Thymeleaf 3.1.2 Oct 19, 2023
				
- 
					Taming Thymeleaf update for Spring Boot 3 Mar 31, 2023
				
- 
					Toasts notifications in Thymeleaf with Shoelace and htmx - part 2 Feb 21, 2023
				
- 
					Toasts notifications in Thymeleaf with Shoelace and htmx Feb 20, 2023
				
- 
					Using Google login with Spring Boot 3 and Thymeleaf Jan 24, 2023
				
- 
					Release 1.0.0 and 2.0.0 of htmx-spring-boot-thymeleaf Dec 11, 2022
				
- 
					The error-handling-spring-boot-starter library vs Spring 6 ProblemDetail Dec 1, 2022
				
- 
					Started my YouTube channel Nov 25, 2022
				
- 
					Htmx authentication error handling Oct 4, 2022
				
- 
					Thymeleaf live reload with Spring Boot and Tailwind CSS Aug 27, 2022
				
- 
					Thymeleaf live reload with Spring Boot DevTools Jul 4, 2022
				
- 
					Thymeleaf live reload with npm scripts Jul 3, 2022
				
- 
					Thymeleaf and htmx with out of band swaps Jun 15, 2022
				
- 
					Error handling with Spring WebFlux Apr 11, 2022
				
- 
					Bootstrap Toggle clone with Tailwind CSS and Alpine Mar 21, 2022
				
- 
					Spring Boot request parameters validation Feb 23, 2022
				
- 
					Taming Thymeleaf 2.0 release Nov 23, 2021
				
- 
					Using Server-Sent Events with Thymeleaf and HTMX Nov 23, 2021
				
- 
					Using Spring Boot ObjectMapper with hibernate-types Nov 18, 2021
				
- 
					TodoMVC with Thymeleaf and HTMX Oct 4, 2021
				
- 
					TodoMVC with Spring Boot and Thymeleaf (Part 3) Sep 27, 2021
				
- 
					TodoMVC with Spring Boot and Thymeleaf (Part 2) Sep 23, 2021
				
- 
					TodoMVC with Spring Boot and Thymeleaf (Part 1) Sep 20, 2021
				
- 
					Thymeleaf iteration and fragments Sep 15, 2021
				
- 
					Using Java 16 records with Thymeleaf Jul 25, 2021
				
- 
					Form handling with Thymeleaf May 23, 2021
				
- 
					Error Handling Spring Boot Starter release 1.6.0 May 1, 2021
				
- 
					Equals and hashcode implementation considerations Apr 26, 2021
				
- 
					Using HTML select options with Thymeleaf Apr 16, 2021
				
- 
					AttributeConverter vs Embeddable in JPA Mar 1, 2021
				
- 
					Error Handling Spring Boot Starter release 1.2.0 Feb 18, 2021
				
- 
					JUnit 5 test class orderer for Spring Boot Feb 12, 2021
				
- 
					Using StringTrimmerEditor with Thymeleaf Jan 25, 2021
				
- 
					Using Hugo with Tailwind CSS 2 Jan 18, 2021
				
- 
					String concatenation with Thymeleaf Jan 11, 2021
				
- 
					Practical Guide to Building an API Back End with Spring Boot made it to the Best New REST API Books Jan 8, 2021
				
- 
					Using Google Charts with Thymeleaf Jan 5, 2021
				
- 
					Architecture Decision Records Dec 26, 2020
				
- 
					Release Taming Thymeleaf book Dec 21, 2020
				
- 
					Generate Leanpub TOC from Asciidoc files Oct 9, 2020
				
- 
					Error handling library for Spring Boot Jul 20, 2020
				
- 
					Generate all enum values for Spring REST Docs documentation Jun 8, 2020
				
- 
					AssertJ test cause of exception May 8, 2020
				
- 
					Spring Boot test slices with custom annotations Apr 17, 2020
				
- 
					Port of the Laravel Intermediate Task List tutorial to Spring Boot with Thymeleaf Mar 10, 2020
				
- 
					UUID based Value Objects with Spring Boot REST API Mar 3, 2020
				
- 
					Value Objects with Spring Boot REST API Feb 26, 2020
				
- 
					Using Tailwind CSS with Spring Boot and Thymeleaf Feb 17, 2020
				
- 
					Testcontainers-cypress release 0.4.0 Feb 11, 2020
				
- 
					Welcome to the new blog Feb 5, 2020
				
- 
					Example usage of testcontainers cypress Feb 1, 2020
				
- 
					Customization of Asciidoctor PDF output Dec 20, 2019
				
- 
					Using primary key objects with Spring Data and Hibernate Oct 27, 2019
				
- 
					Spring Boot and Thymeleaf with CSS JavaScript processing using Gulp Oct 20, 2019
				
- 
					Ensure JUnit test fails when Cypress tests fail Jun 16, 2019
				
- 
					Running Cypress tests with TestContainers for a Spring Boot with Thymeleaf application Jun 15, 2019
				
- 
					Announcing BIOB  an binary object storage library Feb 21, 2019
				
- 
					Version 1.0.2 of Practical Guide to Building an API Back End with Spring Boot released Dec 24, 2018
				
- 
					Switching between JDK 8 and 11 using SDKMAN  Sep 26, 2018
				
- 
					Spring Boot book published via Infoq Sep 10, 2018
				
- 
					Tip on migration to Spring Boot 2 when using Flyway Aug 30, 2018
				
- 
					Datadog integration with AWS Elastic Beanstalk for Spring Boot application Jul 6, 2018
				
- 
					PageImpl JSON serialization with Spring Boot 2 Jun 10, 2018
				
- 
					Building an AsciidoctorJ extension to execute JavaScript Oct 8, 2017
				
- 
					Using Spring Boot with JavaFX - Using Spring Profiles Sep 20, 2017
				
- 
					Using Spring Boot with JavaFX Sep 18, 2017
				
- 
					Using JavaFX on Raspberry Pi 3 with Gluon Aug 26, 2017
				
- 
					Enable preview of Spring REST Docs snippets in IntelliJ IDEA Jul 24, 2017
				
- 
					Using ServletUriComponentsBuilder with Nginx Mar 13, 2017
				
- 
					AssertJ custom assertion for ConstraintValidator tests Jan 22, 2017
				
- 
					Custom Validator to check if a String contains XML Jan 21, 2017
				
- 
					Angular datatables with server side pagination using Spring Data May 5, 2016
				
- 
					AssertJ custom assertion for testing ConstraintValidator implementations Apr 1, 2016
				
- 
					Read only EntryProcessors with Hazelcast Sep 30, 2015
				
- 
					EntryProcessors and EntryBackupProcessors with Hazelcast Sep 29, 2015
				
- 
					Introduction to using JavaFX with afterburner.fx Mar 24, 2015
				
- 
					Using Font Awesome in JavaFX with fontawesomefx Mar 13, 2015
				
- 
					Spring Boot application with  exploded  directory structure Nov 4, 2014
				
- 
					Opening multiple SSH sessions with iTerm automatically Jul 16, 2014
				
- 
					Using Cassandra unit with TestNG Jun 11, 2014
				
- 
					Release JIRA Database Values plugin 3.3 May 24, 2014
				
- 
					Switching easily between Java JDKs on Mac OS X Mar 20, 2014
				
- 
					Synchronizing LiquidPlanner with Exchange calendars Feb 7, 2014
				
- 
					Creating a REST web application in 4 classes Dec 16, 2013
				
- 
					JIRA Database Values 3.1 released Dec 9, 2013
				
- 
					Database Values Plugin upgraded for JIRA 6 May 22, 2013
				
- 
					Upgrading your plugin to JIRA 5.1 presentation slides Jan 31, 2013
				
- 
					JIRA Database Values Plugin for JIRA 5.1 released Jan 16, 2013
				
- 
					Tooltips in detached windows with Adobe AIR Jan 10, 2013
				
- 
					Database Values Plugin for JIRA 5.1 Dec 29, 2012
				
- 
					Restarting an Adobe AIR application when using video Jun 29, 2012
				
- 
					Updating JIRA links in Confluence when migrating to new server Mar 8, 2012
				
- 
					Synchronisation of Atlassian JIRA with LiquidPlanner Oct 13, 2011
				
- 
					Synchronisation of Atlassian JIRA with LiquidPlanner - Part 2 Oct 13, 2011
				
- 
					JIRA Speakeasy extension to show 'key - summary' in an inline dialog Jul 1, 2011
				
- 
					Entering the JIRA database values plugin in the Atlassian codegeist competition May 3, 2011
				
- 
					Release JIRA Database Values Plugin 1.3.0 Apr 11, 2011
				
- 
					Validation of multiple email addresses in flex Feb 7, 2011
				
- 
					JIRA Database values plugin   new release 1.2 Jan 20, 2011
				
- 
					JQL query for the jira database values plugin Jan 13, 2011
				
- 
					Make IntelliJ IDEA X look great on Linux Dec 10, 2010
				
- 
					Flex gotchas for Java programmers Nov 29, 2010
				
- 
					How to expose your flex test code to other Maven modules using flex mojos Oct 18, 2010
				
- 
					New (bugfix) release JIRA Database Values Plugin 1.1.1 Oct 13, 2010
				
- 
					New release JIRA Database Values Plugin 1.1 Oct 9, 2010
				
- 
					Using AspectJ and Annotations to document framework pollution in the domain model Oct 5, 2010