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:

Inversion Of Control With Smart Defaults

Inversion of Control is a powerful way of wiring together your beans so that the beans themselves can stay simple & be injected with their dependencies by their IoC container. One of the downsides of wring everything together using an IoC container like Spring is that you can often en up with huge amounts of XML configuring everything.

The Inversion Of Control With Smart Defaults pattern attempts to address this by providing in-built smart defaults into the system so that you only have to actually configure things which are not the default behavior.

For example with Camel you can configure a CamelContext; capable of creating on demand Component and Endpoint instances along with providing a powerful Type Converter registry all by using a single XML element...

<camelContext xmlns="">

If you explicitly want to configure the context; a component, an endpoint or dependent objects explicitly in XML you can; but all the common defaults are wired together for you.

© 2004-2015 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram