Java 9 dependency injection : write loosely coupled code with Spring 5 and Guice - Patel, Krunal; Patel, Nilang (Packt Publishing, 2018)