| [[Injector-Injector]] |
| Injector |
| ~~~~~~~~ |
| |
| The |
| http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/Injector.html[Injector] |
| is a pluggable strategy to any IoC container such as |
| Spring or Guice to be able to create and |
| dependency-inject objects of a certain type. |
| |
| For example if you are using the |
| link:inversion-of-control-with-smart-defaults.html[Inversion Of Control |
| With Smart Defaults] pattern to minimize your XML dependency; Camel will |
| automatically discover and use new endpoints when they are referenced |
| via their URIs by using the META-INF/services settings. |
| You could explicitly configure each Component and |
| Endpoint in your Spring XML file; or let Camel find |
| the defaults then use the Injector to create and inject any of its |
| dependencies. |
| |
| As an example; consider the <<jms-component,JMS>> component. Rather than |
| explicitly configuring the JMS component in Spring XML you can just |
| provide a ConnectionFactory in your Spring XML which the Injector will |
| use to properly configure the JmsComponent when it is instantiated. |