Bean Injection

We support the injection of various resources using @EndpointInject or @BeanInject. This can be used to inject

Using @BeanInject

From Camel 2.13 onwards you can inject beans (obtained from the Registry) into your beans such as RouteBuilder classes.

For example to inject a bean named foo, you can enlist the bean in the Registry such as in a Spring XML file:

<bean id="foo" class=""/>

And then in a Java RouteBuilder class, you can inject the bean using @BeanInject as shown below:

public class MyRouteBuilder extends RouteBuilder {

   MyFooBean foo;

   public void configure() throws Exception {

If you omit the name, then Camel does a lookup by type, and injects the bean if there is exactly only one bean of that type enlisted in the Registry.

   MyFooBean foo;