1. Yes, it's the best solution I know, you basically do all the job with 2 lines of code.
2. It depends on what you really want to achieve. For example:
a) if you just want to save some time writing all those bindings manually - you can either create array of classes and some method to iterate and bind each one of them, or you could use something similar to Spring classpath scanner, it will take you some time to write it but afterwards it will do the job.
b) if you need modular system you could use java.util.ServiceLoader to load proper implementation for every interface from external jars and then bind them. In this case once again you can just create array like this:
Class[] interfacesList = {FirstService.class, SecondService.class};
then iterate it and load implementation for each one of them and bind it, so adding one more binding for you will be just adding one more interface to array.