Put simply, Guice alleviates the need for factories and the use of new in your Java code. Think of Guice's @Inject as the new new. You will still need to write factories in some cases, but your code will not depend directly on them. Your code will be easier to change, unit test and reuse in other contexts.
Guice embraces Java's type safe nature, especially when it comes to features introduced in Java 5 such as generics and annotations. You might think of Guice as filling in missing features for core Java. Ideally, the language itself would provide most of the same features, but until such a language comes along, we have Guice.
Guice helps you design better APIs, and the Guice API itself sets a good example. Guice is not a kitchen sink. We justify each feature with at least three use cases. When in doubt, we leave it out. We build general functionality which enables you to extend Guice rather than adding every feature to the core framework.
Guice aims to make development and debugging easier and faster, not harder and slower. In that vein, Guice steers clear of surprises and magic. You should be able to understand code with or without tools, though tools can make things even easier. When errors do occur, Guice goes the extra mile to generate helpful messages.
Bob Lee is a Google software engineer in Mountain View, CA. "I code, I write, and I speak. I make babies (one so far). I take pictures." He's the founder of the Guice framework and involved with the Java Web Beans specification (JSR-299).
Taming Code Dependencies— During this session we'll talk about code dependencies between classes and packages in large scale software projects: what they are, and why they're important,
The Java Puzzlers— Josh Bloch and Neal Gafter present yet another installment in the continuing saga of Java Puzzlers, consisting of eight more programming puzzles for your entertainment and enlightenment.
Java - A tour of the landscape— During this JavaPolis '07 keynote, James Gosling (father of Java) presents The State of the Java Universe. Java SE and JavaFX receive special attention during this keynote, where the first ideas towards a possible FX Designer tool gets presented.
Java SE Update— During this JavaPolis presentation, Danny Coward (platform lead for Java SE) gives a broad (not necessarily deep) picture of the work Sun Microsystems is doing in and around the Java SE platform and on JavaFX.
Interview with James Gosling at JavaPolis'07— During this JavaPolis '07 interview, the JavaPosse interviews James Gosling and talk about detailed features of the Java language, but also other programming languages like C, C++ and Fortran all in relation to the Java Virtual Machine. Enjoy!