Revision 1 as of 2009-12-13 23:51:34

Clear message
Locked History Actions

guice/Manual/Internals/OptionalAOP

Optional AOP

Guice 1.0 was available in a single version that included AOP.

Guice 2.0 makes AOP optional. If your platform doesn't support bytecode generation, you can download a version of Guice that doesn't include AOP support. This is most useful for mobile platforms like Android. This version also lacks fast reflection and line numbers in error messages. For this reason, we recommend Guice+AOP 2.0 even in applications that don't use method interceptors. Feature Comparison

  • Guice 1.0 Guice 2.0 no AOP Guice 2.0 GIN

Library size 544KB 430KB 652KB 0KB (code gen) High performance ✔ ✔ ✔ ✔ Binding EDSL ✔ ✔ ✔ ✔ Scopes ✔ ✔ ✔ ✔ Typesafe ✔ ✔ ✔ ✔ Fast reflection ✔ (cglib) ✔ (cglib) ✔ (code gen) Line numbers in error messages ✔ ✔ Method interceptors ✔ ✔ Provider Methods ✔ ✔ ✔ Binding overrides ✔ ✔ Tool-friendly SPI ✔ ✔ Child Injectors ✔ ✔ Servlet Support Scopes Only ✔ ✔ Error Reporting Good Better Best Best Building Guice without AOP

Guice has an ant task that creates a modified copy of the Guice source-tree. The copy uses the munge preprocessor to remove all bytecode-dependent APIs. Use the following commands to build Guice without AOP support:

ant no_aop cd build/no_aop/ ant dist