La configuración está en el código en lugar de archivos de configuración, que es una decisión válida para muchos escenarios.
Sí, significa que debe reconstruir (posiblemente solo los módulos) si desea liberar una forma diferente de conectar la aplicación, aunque por supuesto todavía podría obtener algunos valores de configuración de argumentos de línea de comandos, archivos de propiedades etc. si quieres.
Si regularmente necesita cambiar la plomería de su aplicación y no desea volver a desplegar nada más que un único archivo, Guice puede no ser para usted. Si, por otro lado, su principal razón para usar DI es hacer que su código sea más claro, y en producción siempre usará la misma fontanería (o lo suficientemente cerca), entonces Guice es una buena opción; a menudo hay bits de lógica que desea para usar al ordenar la tubería de todos modos, y los componentes que generalmente son difíciles de describir/construir de forma declarativa.
Diferentes marcos de DI tienen diferentes beneficios y compensaciones: use el que sea más adecuado para su aplicación.
Sí, lo que quiero decir es que la única forma de cambiar el comportamiento es reconstruir todo – JohnIdol