This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch CAMEL-17571
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 3a50ddc48c4b8e9708ee356f244dcfa973f94ad2
Author: Claus Ibsen <[email protected]>
AuthorDate: Sun Mar 13 10:58:51 2022 +0100

    CAMEL-17571: camel-jbang - docs
---
 .../modules/ROOT/pages/camel-jbang.adoc            | 34 ++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
index 4a58944..3f13e26 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
@@ -238,6 +238,40 @@ curl http://localhost:8080/hello
 Hello World%
 ----
 
+=== Dependency Injection in Java classes
+
+When running Camel applications with camel-jbang, then the runtime is 
`camel-main` based. This means
+there is no Spring Boot, or Quarkus available. However, we have added support 
for using annotation
+based dependency injection in Java classes.
+
+==== Using Camel dependency injection
+
+You can use the following Camel annotations (they work on all runtimes):
+
+- `@BindToRegistry` on class level to create an instance of the class and 
register in the xref:registry.adoc[Registry].
+- `@BeanInject` to dependency inject a bean on a class field.
+- `@PropertyInject` to inject a xref:using-propertyplaceholder.adoc[property 
placeholder]. Such as a property defined in `application.properties`.
+- `@BindToRegistry` on a method to create a bean by invoking the method.
+- `@Converter` on class level to auto-register the 
xref:type-converter.adoc[type converters] from the class.
+
+==== Using Spring Boot dependency injection
+
+You can use the following Spring Boot annotations:
+
+- `@Component` or `@Service` on class level to create an instance of the class 
and register in the xref:registry.adoc[Registry].
+- `@Autowired` to dependency inject an bean on a class field. `@Qualifier` can 
be used to specify the bean id.
+- `@Value` to inject a xref:using-propertyplaceholder.adoc[property 
placeholder]. Such as a property defined in `application.properties`.
+- `@Bean` on a method to create a bean by invoking the method.
+
+==== Using Quarkus injection
+
+You can use the following Quarkus annotations:
+
+- `@ApplicationScoped` or `@Single` on class level to create an instance of 
the class and register in the xref:registry.adoc[Registry]. `@Named` can be 
used to specify the bean id.
+- `@Inject` to dependency inject an bean on a class field. `@Named` can be 
used to specify the bean id.
+- `@ConfigProperty` to inject a xref:using-propertyplaceholder.adoc[property 
placeholder]. Such as a property defined in `application.properties`.
+- `@Produces` on a method to create a bean by invoking the method. `@Named` 
can be used to specify the bean id.
+
 === Debugging
 
 You can debug both camel@apache/camel and your integration scripts by making 
use of the `--debug` flag provided by JBang:

Reply via email to