...
| Spring | PicoContainer | Guice | ||
---|---|---|---|---|---|
Supports start/stop lifecycle hooks for components | Yes (interface or xml-configured) | Yes (interface or annotation) | ? | ||
Supports autowiring | Yes | Requires component coupling to framework | No | Yes | Yes |
Supports autowiring and explicit ( in-code ) wiring and configuration | Yes (JavaConfig) | Yes ? | Yes | ||
Supports external wiring (outside of code) | Yes (xml) | No | Not directly (but it's possible) | ||
Supports external config (outside of code) | Yes (xml and/or properties) | ? | No | Yes (Names.bindProperties) ? | |
OSGi-Friendly | Yes (Spring-DM) | ? Unknown | Yes (Guice-Peaberry) | ||
JSR-330 Support | |||||
Minimal Jar Footprint (non-OSGi) | 750kb | 300kb | 650kb |