There is nothing specific we need to set up for this recipe. In this recipe, we will take a simple example. We have one BookService abstract class which supports CRUD operations. Now, these CRUD operations can work on a SQL DB or on MongoDB or on file system and so on. This flexibility can be provided by using service provider interface and ServiceLoader class to load the required service provider implementation.