Category: Java

Java 8 introduces a new date and time API defined inside the java.time package. The key date and time classes defined in this package are LocalDateTime, ZonedDateTime, and OffsetDateTime. OffsetDateTime is an immutable representation of a date-time with an offset from UTC. It stores all date and time fields, to a precision of nanoseconds. For example, you can […]Continue reading

Parameterized tests in JUnit 5 enable you to run a test multiple times with different parameters. It helps the developers to save time in writing and executing the tests. We can write JUnit 5 parameterized tests just like regular JUnit 5 tests but have to use the @ParameterizedTest annotation instead. In a parameterized test, you […]Continue reading

MapStruct and Project Lombok are two tools which can make your life as a developer much easier. MapStruct is a slick project which generates type mappers via simple interfaces. You define an interface method to accept a source type with a return type. And MapStruct generates the implementation of the mapper. Project Lombok is a […]Continue reading

ArgumentCaptor in Mockito allows you to capture arguments passed to methods for further assertions. You can apply standard JUnit assertion methods, such as assertEquals(), assertThat(), and so on, to perform assertions on the captured arguments. In Mockito, you will find the ArgumentCaptor class in the org. mockito package If you are new to mocking with […]Continue reading

List is one of the most commonly used collections in Java. Some List implementations are LinkedList, ArrayList, and Stack. In this post, I will take you through some of the common operations performed on List. Overview In Java, List is an interface that provides the facility to maintain an ordered collection. It provides different methods that […]Continue reading

Java 14 introduces a new feature called Records. In Java, Record is a special type of Java class. It is intended to hold pure immutable data in it. The syntax of a record is concise and short as compared to a normal class In this post, I will explain why do we need Java records and […]Continue reading

A Spring Boot RESTful service is typically divided into three layers:  Repository, Service, and Controller. This layering helps to segregate the RESTful application responsibilities and enabling loose coupling between the objects. When you develop a layered RESTful application, you will also need to test the different layers. In this post, I will discuss testing Spring […]Continue reading

Java SE 12 introduces switch expressions, which like all expressions evaluate to a single value, that you can use as statements. Java 12, brings improvement to the switch statement with new capabilities. Some of the key capabilities are arrow case labels, multiple case statements, and return values. In this post, I’ll explain the new switch […]Continue reading

Introduction In this article, we will look at Spring Framework’s support of immutable property binding. We described Spring external configuration in this article and also provided a more detailed article about the Java bean properties binding. In this article, we will demonstrate constructor binding using the merchant account configuration in this article. Constructor binding enables […]Continue reading