Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the asciidoc in the repository: https://github.com/apache/camel/blob/master/README.md https://github.com/apache/camel/blob/master/components/readme.adoc
Is Camel IoC friendly?
The quick answer is, yes absolutely! . Now for the longer answer...
In particular we've gone out of our way to make Camel work great with Spring and to reuse all of Spring 2.x's power. For example
What we've tried to do is implement the Inversion Of Control With Smart Defaults pattern; namely that you can configure Camel in a single XML element (or very small amont of XML) to get going, then you can overload default configurations to add more explicit configuration as and when you need it.
Other IoC containers
Spring is clearly the leading IoC container; though there are some others such as Guice, OSGi, Pico, HiveMind & Plexus so we have made the IoC pluggable in Camel.
We hope to have closer integration to other IoC containers, particularly with Guice. The current mechanism for hooking into other IoC containers are
Using no IoC container
Some folks don't even use an IoC container and thats fine too . For example you can just use camel-core with pure Java and then wire things together using just Java code (or some scripting language etc).
By default when referring to components, endpoints or beans by name, it'll try look them up in the JNDI context and we've got a POJO based JNDI provier if you need one of those too.