How to instantiate ControllerComponents

Hi,

How does one instantiate ControllerComponents in play?

I am able ti instantiate WSClient but not the controller components in this line:

val app = new App(wsClient, new ControllerComponents)

Where App looks like this:

class App @Inject() (ws: WSClient, val controllerComponents: ControllerComponents) extends BaseController {…}

I have doing this way:

class ReservationController @Inject()(cc: ControllerComponents)
(implicit context: ExecutionContext,
config: Configuration) extends AbstractController(cc) {

val logger: Logger = Logger(this.getClass())

}

hope that helps