ChatGPT and other Generative AI tools took the world by a storm. People are using these AI tools for various purposes such as to explore a topic, to seek answers to their questions or to get help in coding, etc. ChatGPT and Google’s Gemini are very popular AI tools that are available for free with some usage limitations. Coding without help from Google, StackOverflow and blogs is challenging. But what if you had to code without internet connectivity?
Continue reading »Spring Boot + Testcontainers Tests at Jet Speed
Spring Boot 3.1.0 introduced support for Testcontainers to simplify local development and testing. Testcontainers helps in writing tests using real dependencies instead of mocks, but it may also increase the test execution time. In this article, I will share some insights on how to reduce test execution time while using Testcontainers. Sample Spring Boot application Let’s assume you have created a Spring Boot project using Spring Initializr by selecting Spring Web, Spring Data JPA, PostgreSQL, Flyway and Testcontainers.
Continue reading »Running your own Spring Initializr and using it from IntelliJ IDEA
If you ever worked with Spring Boot, then you are probably aware of Spring Initializr. The Spring Initializr is a web application that you can use to create a Spring Boot application. Do you know Spring Initializr itself is an open-source Spring Boot application? You can fork it, customize it, deploy on your infrastructure and use it to generate Spring Boot applications. The next question would be what kind of customizations I can do?
Continue reading »Mastering Spring Boot in 5 Stages
Spring Boot is the most popular framework in the Java world to build enterprise applications. Also, Spring Boot is the most sought-after skill to get hired as a Java developer. Here is my recommended approach to learn Spring Boot. 1. Prerequisites: What you should already know If you are completely new to Java, then directly jumping on to Spring Boot is NOT recommended. First, learning Core Java and get familiar with Java ecosystem.
Continue reading »Thymeleaf Layouts using Fragment Expressions in Spring Boot GraalVM Native Image
Typically, in Spring Boot + Thyemleaf applications, we use thymeleaf-layout-dialect to define the common layout of the web pages and it works fine. But when we compile the Spring Boot application to GraalVM native image, it is failing due to this error. I tried many suggestions mentioned in the above issue, but none of them worked for me. Then Oliver Drotbohm suggested me Flexible layouts approach to create layouts support natively provided by Thymeleaf itself.
Continue reading »Spring Boot + jOOQ Tutorial - 5 : Fetching Many-to-Many Relationships
In the previous tutorial, we have learned how to fetch One-to-Many relationships using jOOQ. In this tutorial, we will learn how to fetch Many-to-Many relationships using jOOQ. jOOQ Tutorial - 1 : Getting Started jOOQ Tutorial - 2 : Implementing CRUD Operations jOOQ Tutorial - 3 : Fetching One-to-One Relationships jOOQ Tutorial - 4 : Fetching One-to-Many Relationships jOOQ Tutorial - 5 : Fetching Many-to-Many Relationships Source Code: You can find the complete source code of this project on GitHub: https://github.
Continue reading »Spring Boot + jOOQ Tutorial - 4 : Fetching One-to-Many Relationships
In the previous tutorial, we have learned how to fetch One-to-One relationships using jOOQ. In this tutorial, we will learn how to fetch One-to-Many relationships using jOOQ. jOOQ Tutorial - 1 : Getting Started jOOQ Tutorial - 2 : Implementing CRUD Operations jOOQ Tutorial - 3 : Fetching One-to-One Relationships jOOQ Tutorial - 4 : Fetching One-to-Many Relationships jOOQ Tutorial - 5 : Fetching Many-to-Many Relationships Source Code: You can find the complete source code of this project on GitHub: https://github.
Continue reading »Spring Boot + jOOQ Tutorial - 3 : Fetching One-to-One Relationships
In the previous tutorial, we have learned how to implement basic CRUD Operations using jOOQ. In this tutorial, we will learn how to fetch One-to-One relationships using jOOQ. jOOQ Tutorial - 1 : Getting Started jOOQ Tutorial - 2 : Implementing CRUD Operations jOOQ Tutorial - 3 : Fetching One-to-One Relationships jOOQ Tutorial - 4 : Fetching One-to-Many Relationships jOOQ Tutorial - 5 : Fetching Many-to-Many Relationships Source Code: You can find the complete source code of this project on GitHub: https://github.
Continue reading »Spring Boot + jOOQ Tutorial - 2 : Implementing CRUD Operations
In the previous tutorial, we have seen how to generate jOOQ code using the testcontainers-jooq-codegen-maven-plugin and use jOOQ Typesafe DSL to execute SQL queries. In this tutorial, we will learn how to implement basic CRUD Operations using jOOQ. jOOQ Tutorial - 1 : Getting Started jOOQ Tutorial - 2 : Implementing CRUD Operations jOOQ Tutorial - 3 : Fetching One-to-One Relationships jOOQ Tutorial - 4 : Fetching One-to-Many Relationships jOOQ Tutorial - 5 : Fetching Many-to-Many Relationships Source Code:
Continue reading »Spring Boot + jOOQ Tutorial - 1 : Getting Started
jOOQ is a Java persistence library that provides SQL DSL for writing typesafe SQL queries. It supports most of the popular databases like MySQL, PostgreSQL, Oracle, SQL Server, and many more. In this tutorial, we will learn how to get started with jOOQ for implementing persistence layer in a Spring Boot application. You can also use jOOQ in other JVM based languages like Kotlin, Scala, etc. jOOQ Tutorial - 1 : Getting Started jOOQ Tutorial - 2 : Implementing CRUD Operations jOOQ Tutorial - 3 : Fetching One-to-One Relationships jOOQ Tutorial - 4 : Fetching One-to-Many Relationships jOOQ Tutorial - 5 : Fetching Many-to-Many Relationships In this jOOQ tutorial series, you will learn how to use jOOQ in a Spring Boot application for implementing:
Continue reading »