Guice is a dependency injection framework. When using Java, you should definitely consider the dependency injection (DI) framework. DI can save you a lot of boiler plate code for (web) security / authentication, transaction management, logging, database access and results in cleaner code.
Alternatively, you can consider Spring. Guice, or at least was easier to use, because it didn't rely too much on XML, but Spring caught up with the latest version (using annotations, javaconfig, etc.).
Well, in any case, use the DI framework because you have your own factory code, transaction boiler room code (transaction.start. Commit, finally .. etc.), singletones (e.g. static getInstance methods), etc. .
source share