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).
Large scale development of enterprise java solutions— You will get some insights into the development process at the NetWeaver Product Technology Unit and SAP applications build on top of the NetWeaver platform. We will share how we build large scale enterprise java solutions at SAP.
Java persistence - a Heretic's demonstration— The Java world is a thriving 'think tank' where the future of computing is created, a place of open-minded exploration. Nevertheless, there are taboos that the Java world seems reluctant to address. Weakly typed languages was one that has been confronted only recently, with JSR223. Object-oriented databases attract a lot of sympathy and precious little support. Everything that would stray too far away from the 'canon' of Java and JavaEE is, in reality, often considered with suspicion.
JSR 303 - Bean Validation— Validating data is a common task that is copied in many different layers of an application, from the presentation tier to the persistence layer. Many times the exact same validations will have to be implemented in each separate validation framework, proving time consuming and error-prone. To prevent having to re-implement these validations at each layer, many developers will bundle validations directly into their classes, cluttering them with copied validation code that is, in fact, meta-data about the class itself.
Leading Open Source Middleware in Action— OW2 Members present and demonstrate leading OW2 projects working together to provide a full-featured open source information system based on Exo, XWiki, Bonita, JOnAS, SpagoBI, Talend, PEtALS, Orchestra and Spegic.
JSR 314 - JavaServer Faces 2.0— JavaServer Faces 2.0 (JSR 314) will bring the best ideas in web application development to the Java EE platform. This presentation by co-spec. lead Ed Burns gives you an overview of what you can expect in the near JSF future.