I am not really sure if it is advisable to choose combination.
IMHO it is not beneficial to do that case by case.
- Here a very clean documentation would be necessary (because there is no spring config that can act as documentation). Further it's not very handy for as well because we need spring for all configuration in the integration-tests etc.
- Here I see the drawback because the coupling between the components is increased when they depend no longer only on the interfaces.
- Here the drawback is that all users that do not use Spring are forced to bootstrap the whole application on their own. (as in point 1)
A suggestion:
We could provide a default application context configuration file that bootsraps the framework with all its defaults. If somebody needs an adaption, he/she can simply edit the application context provided or write a new one for his/her application.
Further a very detailed documentation is provided that shows the minimal needed configuration and how to extend.