You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/11/16 15:07:03 UTC

[camel-spring-boot] 05/06: CAMEL-15766: Regen

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

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

commit 3db0e0d185ad4a8e792cbe05574a0d06601dd868
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 16 14:56:04 2020 +0100

    CAMEL-15766: Regen
---
 .../ActiveMQComponentAutoConfiguration.java        | 11 ++-
 .../springboot/ActiveMQComponentConverter.java     | 97 ++++++++++++++++++++++
 .../springboot/AhcComponentAutoConfiguration.java  | 11 ++-
 .../ahc/springboot/AhcComponentConverter.java      | 71 ++++++++++++++++
 .../springboot/WsComponentAutoConfiguration.java   | 11 ++-
 .../ahc/ws/springboot/WsComponentConverter.java    | 71 ++++++++++++++++
 .../springboot/AMQPComponentAutoConfiguration.java | 11 ++-
 .../amqp/springboot/AMQPComponentConverter.java    | 97 ++++++++++++++++++++++
 .../Any23DataFormatAutoConfiguration.java          |  9 +-
 .../springboot/ApnsComponentAutoConfiguration.java | 11 ++-
 .../apns/springboot/ApnsComponentConverter.java    | 63 ++++++++++++++
 .../ArangoDbComponentAutoConfiguration.java        | 11 ++-
 .../springboot/ArangoDbComponentConverter.java     | 65 +++++++++++++++
 .../springboot/AS2ComponentAutoConfiguration.java  | 11 ++-
 .../as2/springboot/AS2ComponentConverter.java      | 63 ++++++++++++++
 .../ASN1DataFormatAutoConfiguration.java           |  9 +-
 .../AsteriskComponentAutoConfiguration.java        |  9 +-
 .../AtlasMapComponentAutoConfiguration.java        | 11 ++-
 .../springboot/AtlasMapComponentConverter.java     | 63 ++++++++++++++
 .../AtmosComponentAutoConfiguration.java           |  9 +-
 .../WebsocketComponentAutoConfiguration.java       | 11 ++-
 .../springboot/WebsocketComponentConverter.java    | 70 ++++++++++++++++
 .../springboot/AtomComponentAutoConfiguration.java |  9 +-
 .../AtomixMapComponentAutoConfiguration.java       | 11 ++-
 .../springboot/AtomixMapComponentConverter.java    | 74 +++++++++++++++++
 .../AtomixMessagingComponentAutoConfiguration.java | 11 ++-
 .../AtomixMessagingComponentConverter.java         | 74 +++++++++++++++++
 .../AtomixMultiMapComponentAutoConfiguration.java  | 11 ++-
 .../AtomixMultiMapComponentConverter.java          | 74 +++++++++++++++++
 .../AtomixQueueComponentAutoConfiguration.java     | 11 ++-
 .../springboot/AtomixQueueComponentConverter.java  | 72 ++++++++++++++++
 .../AtomixSetComponentAutoConfiguration.java       | 11 ++-
 .../springboot/AtomixSetComponentConverter.java    | 72 ++++++++++++++++
 .../AtomixValueComponentAutoConfiguration.java     | 11 ++-
 .../springboot/AtomixValueComponentConverter.java  | 72 ++++++++++++++++
 .../springboot/AvroComponentAutoConfiguration.java | 11 ++-
 .../avro/springboot/AvroComponentConverter.java    | 65 +++++++++++++++
 .../AvroDataFormatAutoConfiguration.java           |  9 +-
 .../springboot/CwComponentAutoConfiguration.java   | 11 ++-
 .../aws/cw/springboot/CwComponentConverter.java    | 67 +++++++++++++++
 .../springboot/DdbComponentAutoConfiguration.java  | 11 ++-
 .../aws/ddb/springboot/DdbComponentConverter.java  | 69 +++++++++++++++
 .../DdbStreamComponentAutoConfiguration.java       | 11 ++-
 .../springboot/DdbStreamComponentConverter.java    | 72 ++++++++++++++++
 .../springboot/EC2ComponentAutoConfiguration.java  | 11 ++-
 .../aws/ec2/springboot/EC2ComponentConverter.java  | 69 +++++++++++++++
 .../springboot/ECSComponentAutoConfiguration.java  | 11 ++-
 .../aws/ecs/springboot/ECSComponentConverter.java  | 69 +++++++++++++++
 .../springboot/EKSComponentAutoConfiguration.java  | 11 ++-
 .../aws/eks/springboot/EKSComponentConverter.java  | 69 +++++++++++++++
 .../springboot/IAMComponentAutoConfiguration.java  | 11 ++-
 .../aws/iam/springboot/IAMComponentConverter.java  | 69 +++++++++++++++
 .../KinesisFirehoseComponentAutoConfiguration.java | 11 ++-
 .../KinesisFirehoseComponentConverter.java         | 68 +++++++++++++++
 .../KinesisComponentAutoConfiguration.java         | 11 ++-
 .../springboot/KinesisComponentConverter.java      | 71 ++++++++++++++++
 .../springboot/KMSComponentAutoConfiguration.java  | 11 ++-
 .../aws/kms/springboot/KMSComponentConverter.java  | 69 +++++++++++++++
 .../LambdaComponentAutoConfiguration.java          | 11 ++-
 .../springboot/LambdaComponentConverter.java       | 69 +++++++++++++++
 .../springboot/MQComponentAutoConfiguration.java   | 11 ++-
 .../aws/mq/springboot/MQComponentConverter.java    | 69 +++++++++++++++
 .../springboot/MSKComponentAutoConfiguration.java  | 11 ++-
 .../aws/msk/springboot/MSKComponentConverter.java  | 69 +++++++++++++++
 .../springboot/S3ComponentAutoConfiguration.java   | 11 ++-
 .../aws/s3/springboot/S3ComponentConverter.java    | 73 ++++++++++++++++
 .../springboot/SdbComponentAutoConfiguration.java  |  9 +-
 .../springboot/SesComponentAutoConfiguration.java  | 11 ++-
 .../aws/ses/springboot/SesComponentConverter.java  | 67 +++++++++++++++
 .../springboot/SnsComponentAutoConfiguration.java  | 11 ++-
 .../aws/sns/springboot/SnsComponentConverter.java  | 69 +++++++++++++++
 .../springboot/SqsComponentAutoConfiguration.java  | 11 ++-
 .../aws/sqs/springboot/SqsComponentConverter.java  | 69 +++++++++++++++
 .../springboot/SWFComponentAutoConfiguration.java  | 11 ++-
 .../aws/swf/springboot/SWFComponentConverter.java  | 75 +++++++++++++++++
 .../TranslateComponentAutoConfiguration.java       | 11 ++-
 .../springboot/TranslateComponentConverter.java    | 70 ++++++++++++++++
 .../Athena2ComponentAutoConfiguration.java         | 11 ++-
 .../springboot/Athena2ComponentConverter.java      | 73 ++++++++++++++++
 .../springboot/Cw2ComponentAutoConfiguration.java  | 11 ++-
 .../aws2/cw/springboot/Cw2ComponentConverter.java  | 69 +++++++++++++++
 .../springboot/Ddb2ComponentAutoConfiguration.java | 11 ++-
 .../ddb/springboot/Ddb2ComponentConverter.java     | 69 +++++++++++++++
 .../Ddb2StreamComponentAutoConfiguration.java      | 11 ++-
 .../springboot/Ddb2StreamComponentConverter.java   | 72 ++++++++++++++++
 .../AWS2EC2ComponentAutoConfiguration.java         | 11 ++-
 .../ec2/springboot/AWS2EC2ComponentConverter.java  | 69 +++++++++++++++
 .../src/main/docs/aws2-ecs-starter.adoc            |  3 +-
 .../springboot/ECS2ComponentAutoConfiguration.java | 11 ++-
 .../ecs/springboot/ECS2ComponentConfiguration.java | 14 ----
 .../ecs/springboot/ECS2ComponentConverter.java     | 69 +++++++++++++++
 .../src/main/docs/aws2-eks-starter.adoc            |  3 +-
 .../springboot/EKS2ComponentAutoConfiguration.java | 11 ++-
 .../eks/springboot/EKS2ComponentConfiguration.java | 14 ----
 .../eks/springboot/EKS2ComponentConverter.java     | 69 +++++++++++++++
 .../EventbridgeComponentAutoConfiguration.java     | 11 ++-
 .../springboot/EventbridgeComponentConverter.java  | 70 ++++++++++++++++
 .../springboot/IAM2ComponentAutoConfiguration.java | 11 ++-
 .../iam/springboot/IAM2ComponentConverter.java     | 69 +++++++++++++++
 ...KinesisFirehose2ComponentAutoConfiguration.java | 11 ++-
 .../KinesisFirehose2ComponentConverter.java        | 70 ++++++++++++++++
 .../Kinesis2ComponentAutoConfiguration.java        | 11 ++-
 .../springboot/Kinesis2ComponentConverter.java     | 71 ++++++++++++++++
 .../springboot/KMS2ComponentAutoConfiguration.java | 11 ++-
 .../kms/springboot/KMS2ComponentConverter.java     | 69 +++++++++++++++
 .../Lambda2ComponentAutoConfiguration.java         | 11 ++-
 .../springboot/Lambda2ComponentConverter.java      | 69 +++++++++++++++
 .../springboot/MQ2ComponentAutoConfiguration.java  | 11 ++-
 .../aws2/mq/springboot/MQ2ComponentConverter.java  | 69 +++++++++++++++
 .../springboot/MSK2ComponentAutoConfiguration.java | 11 ++-
 .../msk/springboot/MSK2ComponentConverter.java     | 69 +++++++++++++++
 .../AWS2S3ComponentAutoConfiguration.java          | 11 ++-
 .../s3/springboot/AWS2S3ComponentConverter.java    | 69 +++++++++++++++
 .../springboot/Ses2ComponentAutoConfiguration.java | 11 ++-
 .../ses/springboot/Ses2ComponentConverter.java     | 67 +++++++++++++++
 .../springboot/Sns2ComponentAutoConfiguration.java | 11 ++-
 .../sns/springboot/Sns2ComponentConverter.java     | 67 +++++++++++++++
 .../springboot/Sqs2ComponentAutoConfiguration.java | 11 ++-
 .../sqs/springboot/Sqs2ComponentConverter.java     | 69 +++++++++++++++
 .../springboot/STS2ComponentAutoConfiguration.java | 11 ++-
 .../sts/springboot/STS2ComponentConverter.java     | 69 +++++++++++++++
 .../Translate2ComponentAutoConfiguration.java      | 11 ++-
 .../springboot/Translate2ComponentConverter.java   | 70 ++++++++++++++++
 .../EventHubsComponentAutoConfiguration.java       | 11 ++-
 .../springboot/EventHubsComponentConverter.java    | 74 +++++++++++++++++
 .../BlobServiceComponentAutoConfiguration.java     | 11 ++-
 .../springboot/BlobServiceComponentConverter.java  | 72 ++++++++++++++++
 .../QueueServiceComponentAutoConfiguration.java    | 11 ++-
 .../springboot/QueueServiceComponentConverter.java | 70 ++++++++++++++++
 .../springboot/BlobComponentAutoConfiguration.java | 11 ++-
 .../blob/springboot/BlobComponentConverter.java    | 75 +++++++++++++++++
 .../QueueComponentAutoConfiguration.java           | 11 ++-
 .../queue/springboot/QueueComponentConverter.java  | 71 ++++++++++++++++
 .../BarcodeDataFormatAutoConfiguration.java        |  9 +-
 .../Base64DataFormatAutoConfiguration.java         |  9 +-
 .../springboot/BeanComponentAutoConfiguration.java | 11 ++-
 .../bean/springboot/BeanComponentConverter.java    | 63 ++++++++++++++
 .../ClassComponentAutoConfiguration.java           | 11 ++-
 .../springboot/ClassComponentConverter.java        | 63 ++++++++++++++
 .../springboot/BeanLanguageAutoConfiguration.java  |  9 +-
 .../BeanValidatorComponentAutoConfiguration.java   | 11 ++-
 .../BeanValidatorComponentConverter.java           | 72 ++++++++++++++++
 .../BeanIODataFormatAutoConfiguration.java         |  9 +-
 .../BeanstalkComponentAutoConfiguration.java       | 11 ++-
 .../springboot/BeanstalkComponentConverter.java    | 64 ++++++++++++++
 .../BindyCsvDataFormatAutoConfiguration.java       |  9 +-
 ...indyFixedLengthDataFormatAutoConfiguration.java |  9 +-
 ...ndyKeyValuePairDataFormatAutoConfiguration.java |  9 +-
 .../BonitaComponentAutoConfiguration.java          |  9 +-
 .../springboot/BoxComponentAutoConfiguration.java  | 11 ++-
 .../box/springboot/BoxComponentConverter.java      | 69 +++++++++++++++
 .../BraintreeComponentAutoConfiguration.java       | 11 ++-
 .../springboot/BraintreeComponentConverter.java    | 64 ++++++++++++++
 .../BrowseComponentAutoConfiguration.java          |  9 +-
 .../CaffeineCacheComponentAutoConfiguration.java   | 11 ++-
 .../CaffeineCacheComponentConverter.java           | 74 +++++++++++++++++
 ...affeineLoadCacheComponentAutoConfiguration.java | 11 ++-
 .../CaffeineLoadCacheComponentConverter.java       | 74 +++++++++++++++++
 .../CassandraComponentAutoConfiguration.java       |  9 +-
 .../CBORDataFormatAutoConfiguration.java           |  9 +-
 .../ChatScriptComponentAutoConfiguration.java      |  9 +-
 .../ChunkComponentAutoConfiguration.java           |  9 +-
 .../springboot/CMComponentAutoConfiguration.java   |  9 +-
 .../springboot/CMISComponentAutoConfiguration.java | 11 ++-
 .../cmis/springboot/CMISComponentConverter.java    | 63 ++++++++++++++
 .../springboot/CoAPComponentAutoConfiguration.java |  9 +-
 .../CometdComponentAutoConfiguration.java          | 11 ++-
 .../springboot/CometdComponentConverter.java       | 65 +++++++++++++++
 .../ConsulComponentAutoConfiguration.java          | 11 ++-
 .../springboot/ConsulComponentConverter.java       | 73 ++++++++++++++++
 .../ControlBusComponentAutoConfiguration.java      |  9 +-
 components-starter/camel-corda-starter/pom.xml     |  8 --
 .../CordaComponentAutoConfiguration.java           | 11 ++-
 .../corda/springboot/CordaComponentConverter.java  | 69 +++++++++++++++
 .../ConstantLanguageAutoConfiguration.java         |  9 +-
 .../HeaderLanguageAutoConfiguration.java           |  9 +-
 .../ExchangePropertyLanguageAutoConfiguration.java |  9 +-
 .../springboot/RefLanguageAutoConfiguration.java   |  9 +-
 .../springboot/FileLanguageAutoConfiguration.java  |  9 +-
 .../SimpleLanguageAutoConfiguration.java           |  9 +-
 .../TokenizeLanguageAutoConfiguration.java         |  9 +-
 .../CouchbaseComponentAutoConfiguration.java       |  9 +-
 .../CouchDbComponentAutoConfiguration.java         |  9 +-
 .../springboot/CronComponentAutoConfiguration.java |  9 +-
 .../CryptoCmsComponentAutoConfiguration.java       | 11 ++-
 .../springboot/CryptoCmsComponentConverter.java    | 66 +++++++++++++++
 ...DigitalSignatureComponentAutoConfiguration.java | 11 ++-
 .../DigitalSignatureComponentConverter.java        | 76 +++++++++++++++++
 .../CryptoDataFormatAutoConfiguration.java         |  9 +-
 .../springboot/PGPDataFormatAutoConfiguration.java |  9 +-
 .../springboot/CsvDataFormatAutoConfiguration.java |  9 +-
 .../CxfRsComponentAutoConfiguration.java           | 11 ++-
 .../jaxrs/springboot/CxfRsComponentConverter.java  | 63 ++++++++++++++
 .../springboot/CxfComponentAutoConfiguration.java  | 11 ++-
 .../cxf/springboot/CxfComponentConverter.java      | 63 ++++++++++++++
 .../DataFormatComponentAutoConfiguration.java      |  9 +-
 .../DataSetComponentAutoConfiguration.java         |  9 +-
 .../DataSetTestComponentAutoConfiguration.java     |  9 +-
 .../DebeziumMongodbComponentAutoConfiguration.java | 11 ++-
 .../DebeziumMongodbComponentConverter.java         | 64 ++++++++++++++
 .../DebeziumMySqlComponentAutoConfiguration.java   | 11 ++-
 .../DebeziumMySqlComponentConverter.java           | 64 ++++++++++++++
 ...DebeziumPostgresComponentAutoConfiguration.java | 11 ++-
 .../DebeziumPostgresComponentConverter.java        | 64 ++++++++++++++
 ...ebeziumSqlserverComponentAutoConfiguration.java | 11 ++-
 .../DebeziumSqlserverComponentConverter.java       | 64 ++++++++++++++
 .../DigitalOceanComponentAutoConfiguration.java    |  9 +-
 .../DirectComponentAutoConfiguration.java          |  9 +-
 .../DirectVmComponentAutoConfiguration.java        | 11 ++-
 .../springboot/DirectVmComponentConverter.java     | 63 ++++++++++++++
 .../DisruptorComponentAutoConfiguration.java       | 11 ++-
 .../springboot/DisruptorComponentConverter.java    | 66 +++++++++++++++
 .../DisruptorVmComponentAutoConfiguration.java     | 11 ++-
 .../springboot/DisruptorVmComponentConverter.java  | 66 +++++++++++++++
 .../springboot/DJLComponentAutoConfiguration.java  |  9 +-
 .../springboot/DnsComponentAutoConfiguration.java  |  9 +-
 .../DockerComponentAutoConfiguration.java          | 11 ++-
 .../springboot/DockerComponentConverter.java       | 63 ++++++++++++++
 .../DozerComponentAutoConfiguration.java           |  9 +-
 .../DrillComponentAutoConfiguration.java           |  9 +-
 .../DropboxComponentAutoConfiguration.java         |  9 +-
 .../EhcacheComponentAutoConfiguration.java         | 11 ++-
 .../springboot/EhcacheComponentConverter.java      | 73 ++++++++++++++++
 .../ElasticsearchComponentAutoConfiguration.java   | 11 ++-
 .../ElasticsearchComponentConverter.java           | 64 ++++++++++++++
 .../ElsqlComponentAutoConfiguration.java           | 11 ++-
 .../elsql/springboot/ElsqlComponentConverter.java  | 67 +++++++++++++++
 .../EtcdKeysComponentAutoConfiguration.java        | 11 ++-
 .../springboot/EtcdKeysComponentConverter.java     | 65 +++++++++++++++
 .../EtcdStatsComponentAutoConfiguration.java       | 11 ++-
 .../springboot/EtcdStatsComponentConverter.java    | 66 +++++++++++++++
 .../EtcdWatchComponentAutoConfiguration.java       | 11 ++-
 .../springboot/EtcdWatchComponentConverter.java    | 66 +++++++++++++++
 .../springboot/ExecComponentAutoConfiguration.java |  9 +-
 .../FacebookComponentAutoConfiguration.java        | 11 ++-
 .../springboot/FacebookComponentConverter.java     | 63 ++++++++++++++
 .../FastjsonDataFormatAutoConfiguration.java       |  9 +-
 .../springboot/FhirComponentAutoConfiguration.java | 11 ++-
 .../fhir/springboot/FhirComponentConverter.java    | 69 +++++++++++++++
 .../FhirJsonDataFormatAutoConfiguration.java       |  9 +-
 .../FhirXmlDataFormatAutoConfiguration.java        |  9 +-
 .../springboot/FileComponentAutoConfiguration.java |  9 +-
 .../FileWatchComponentAutoConfiguration.java       | 11 ++-
 .../springboot/FileWatchComponentConverter.java    | 64 ++++++++++++++
 .../FlatpackComponentAutoConfiguration.java        |  9 +-
 .../FlatpackDataFormatAutoConfiguration.java       |  9 +-
 .../FlinkComponentAutoConfiguration.java           | 11 ++-
 .../flink/springboot/FlinkComponentConverter.java  | 67 +++++++++++++++
 .../springboot/FopComponentAutoConfiguration.java  |  9 +-
 .../FreemarkerComponentAutoConfiguration.java      | 11 ++-
 .../springboot/FreemarkerComponentConverter.java   | 64 ++++++++++++++
 .../springboot/FtpComponentAutoConfiguration.java  |  9 +-
 .../springboot/FtpsComponentAutoConfiguration.java |  9 +-
 .../springboot/SftpComponentAutoConfiguration.java |  9 +-
 .../GangliaComponentAutoConfiguration.java         | 11 ++-
 .../springboot/GangliaComponentConverter.java      | 69 +++++++++++++++
 .../GeoCoderComponentAutoConfiguration.java        | 11 ++-
 .../springboot/GeoCoderComponentConverter.java     | 63 ++++++++++++++
 .../springboot/GitComponentAutoConfiguration.java  |  9 +-
 .../GitHubComponentAutoConfiguration.java          |  9 +-
 .../GoogleBigQueryComponentAutoConfiguration.java  | 11 ++-
 .../GoogleBigQueryComponentConverter.java          | 64 ++++++++++++++
 ...oogleBigQuerySQLComponentAutoConfiguration.java | 11 ++-
 .../GoogleBigQuerySQLComponentConverter.java       | 64 ++++++++++++++
 .../GoogleCalendarComponentAutoConfiguration.java  | 11 ++-
 .../GoogleCalendarComponentConverter.java          | 66 +++++++++++++++
 ...leCalendarStreamComponentAutoConfiguration.java | 11 ++-
 .../GoogleCalendarStreamComponentConverter.java    | 66 +++++++++++++++
 .../GoogleDriveComponentAutoConfiguration.java     | 11 ++-
 .../springboot/GoogleDriveComponentConverter.java  | 66 +++++++++++++++
 .../GoogleMailComponentAutoConfiguration.java      | 11 ++-
 .../springboot/GoogleMailComponentConverter.java   | 66 +++++++++++++++
 ...GoogleMailStreamComponentAutoConfiguration.java | 11 ++-
 .../GoogleMailStreamComponentConverter.java        | 66 +++++++++++++++
 .../GooglePubsubComponentAutoConfiguration.java    |  9 +-
 .../GoogleSheetsComponentAutoConfiguration.java    | 11 ++-
 .../springboot/GoogleSheetsComponentConverter.java | 66 +++++++++++++++
 ...ogleSheetsStreamComponentAutoConfiguration.java | 11 ++-
 .../GoogleSheetsStreamComponentConverter.java      | 66 +++++++++++++++
 .../springboot/GoraComponentAutoConfiguration.java |  9 +-
 .../GrapeComponentAutoConfiguration.java           | 11 ++-
 .../grape/springboot/GrapeComponentConverter.java  | 63 ++++++++++++++
 .../GraphqlComponentAutoConfiguration.java         |  9 +-
 .../GrokDataFormatAutoConfiguration.java           |  9 +-
 .../GroovyLanguageAutoConfiguration.java           |  9 +-
 .../springboot/GrpcComponentAutoConfiguration.java |  9 +-
 .../GsonDataFormatAutoConfiguration.java           |  9 +-
 .../GuavaEventBusComponentAutoConfiguration.java   | 11 ++-
 .../GuavaEventBusComponentConverter.java           | 64 ++++++++++++++
 ...castAtomicnumberComponentAutoConfiguration.java | 11 ++-
 .../HazelcastAtomicnumberComponentConverter.java   | 64 ++++++++++++++
 ...azelcastInstanceComponentAutoConfiguration.java | 11 ++-
 .../HazelcastInstanceComponentConverter.java       | 64 ++++++++++++++
 .../HazelcastListComponentAutoConfiguration.java   | 11 ++-
 .../HazelcastListComponentConverter.java           | 64 ++++++++++++++
 .../HazelcastMapComponentAutoConfiguration.java    | 11 ++-
 .../springboot/HazelcastMapComponentConverter.java | 64 ++++++++++++++
 ...azelcastMultimapComponentAutoConfiguration.java | 11 ++-
 .../HazelcastMultimapComponentConverter.java       | 64 ++++++++++++++
 .../HazelcastQueueComponentAutoConfiguration.java  | 11 ++-
 .../HazelcastQueueComponentConverter.java          | 64 ++++++++++++++
 ...astReplicatedmapComponentAutoConfiguration.java | 11 ++-
 .../HazelcastReplicatedmapComponentConverter.java  | 64 ++++++++++++++
 ...elcastRingbufferComponentAutoConfiguration.java | 11 ++-
 .../HazelcastRingbufferComponentConverter.java     | 64 ++++++++++++++
 .../HazelcastSedaComponentAutoConfiguration.java   | 11 ++-
 .../HazelcastSedaComponentConverter.java           | 64 ++++++++++++++
 .../HazelcastSetComponentAutoConfiguration.java    | 11 ++-
 .../springboot/HazelcastSetComponentConverter.java | 64 ++++++++++++++
 .../HazelcastTopicComponentAutoConfiguration.java  | 11 ++-
 .../HazelcastTopicComponentConverter.java          | 64 ++++++++++++++
 .../HBaseComponentAutoConfiguration.java           | 11 ++-
 .../hbase/springboot/HBaseComponentConverter.java  | 63 ++++++++++++++
 .../springboot/HdfsComponentAutoConfiguration.java | 11 ++-
 .../hdfs/springboot/HdfsComponentConverter.java    | 63 ++++++++++++++
 .../springboot/HL7DataFormatAutoConfiguration.java |  9 +-
 .../Hl7TerserLanguageAutoConfiguration.java        |  9 +-
 .../springboot/HttpComponentAutoConfiguration.java | 11 ++-
 .../http/springboot/HttpComponentConverter.java    | 79 ++++++++++++++++++
 .../ICalDataFormatAutoConfiguration.java           |  9 +-
 .../ClientComponentAutoConfiguration.java          | 11 ++-
 .../springboot/ClientComponentConverter.java       | 63 ++++++++++++++
 .../ServerComponentAutoConfiguration.java          | 11 ++-
 .../springboot/ServerComponentConverter.java       | 63 ++++++++++++++
 .../IgniteCacheComponentAutoConfiguration.java     | 11 ++-
 .../springboot/IgniteCacheComponentConverter.java  | 68 +++++++++++++++
 .../IgniteComputeComponentAutoConfiguration.java   | 11 ++-
 .../IgniteComputeComponentConverter.java           | 68 +++++++++++++++
 .../IgniteEventsComponentAutoConfiguration.java    | 11 ++-
 .../springboot/IgniteEventsComponentConverter.java | 68 +++++++++++++++
 .../IgniteIdGenComponentAutoConfiguration.java     | 11 ++-
 .../springboot/IgniteIdGenComponentConverter.java  | 68 +++++++++++++++
 .../IgniteMessagingComponentAutoConfiguration.java | 11 ++-
 .../IgniteMessagingComponentConverter.java         | 68 +++++++++++++++
 .../IgniteQueueComponentAutoConfiguration.java     | 11 ++-
 .../springboot/IgniteQueueComponentConverter.java  | 68 +++++++++++++++
 .../IgniteSetComponentAutoConfiguration.java       | 11 ++-
 .../springboot/IgniteSetComponentConverter.java    | 68 +++++++++++++++
 .../InfinispanComponentAutoConfiguration.java      | 11 ++-
 .../springboot/InfinispanComponentConverter.java   | 76 +++++++++++++++++
 .../InfluxDbComponentAutoConfiguration.java        | 11 ++-
 .../springboot/InfluxDbComponentConverter.java     | 63 ++++++++++++++
 components-starter/camel-iota-starter/pom.xml      | 12 ---
 .../springboot/IOTAComponentAutoConfiguration.java |  9 +-
 .../springboot/IPFSComponentAutoConfiguration.java |  9 +-
 .../springboot/IrcComponentAutoConfiguration.java  |  9 +-
 .../IronMQComponentAutoConfiguration.java          |  9 +-
 .../JacksonDataFormatAutoConfiguration.java        |  9 +-
 .../JacksonXMLDataFormatAutoConfiguration.java     |  9 +-
 .../JaxbDataFormatAutoConfiguration.java           |  9 +-
 .../springboot/JBPMComponentAutoConfiguration.java |  9 +-
 .../JCacheComponentAutoConfiguration.java          | 11 ++-
 .../springboot/JCacheComponentConverter.java       | 63 ++++++++++++++
 .../JcloudsComponentAutoConfiguration.java         |  9 +-
 .../springboot/JcrComponentAutoConfiguration.java  |  9 +-
 .../springboot/JdbcComponentAutoConfiguration.java | 11 ++-
 .../jdbc/springboot/JdbcComponentConverter.java    | 63 ++++++++++++++
 .../JettyHttpComponentAutoConfiguration9.java      | 11 ++-
 .../springboot/JettyHttpComponentConverter9.java   | 78 +++++++++++++++++
 .../JGroupsRaftComponentAutoConfiguration.java     | 11 ++-
 .../springboot/JGroupsRaftComponentConverter.java  | 66 +++++++++++++++
 .../JGroupsComponentAutoConfiguration.java         | 11 ++-
 .../springboot/JGroupsComponentConverter.java      | 63 ++++++++++++++
 .../springboot/JingComponentAutoConfiguration.java |  9 +-
 .../springboot/JiraComponentAutoConfiguration.java | 11 ++-
 .../jira/springboot/JiraComponentConverter.java    | 63 ++++++++++++++
 .../springboot/JmsComponentAutoConfiguration.java  | 11 ++-
 .../jms/springboot/JmsComponentConverter.java      | 97 ++++++++++++++++++++++
 .../springboot/JMXComponentAutoConfiguration.java  |  9 +-
 .../JohnzonDataFormatAutoConfiguration.java        |  9 +-
 .../springboot/JoltComponentAutoConfiguration.java | 11 ++-
 .../jolt/springboot/JoltComponentConverter.java    | 63 ++++++++++++++
 .../springboot/JooqComponentAutoConfiguration.java | 11 ++-
 .../jooq/springboot/JooqComponentConverter.java    | 67 +++++++++++++++
 .../springboot/JpaComponentAutoConfiguration.java  | 11 ++-
 .../jpa/springboot/JpaComponentConverter.java      | 65 +++++++++++++++
 .../springboot/ScpComponentAutoConfiguration.java  |  9 +-
 .../springboot/JsltComponentAutoConfiguration.java | 11 ++-
 .../jslt/springboot/JsltComponentConverter.java    | 63 ++++++++++++++
 .../JsonValidatorComponentAutoConfiguration.java   |  9 +-
 .../JsonApiDataFormatAutoConfiguration.java        |  9 +-
 .../JsonataComponentAutoConfiguration.java         |  9 +-
 .../JsonbDataFormatAutoConfiguration.java          |  9 +-
 .../JsonPathLanguageAutoConfiguration.java         |  9 +-
 .../Jt400ComponentAutoConfiguration.java           | 11 ++-
 .../jt400/springboot/Jt400ComponentConverter.java  | 63 ++++++++++++++
 .../KafkaComponentAutoConfiguration.java           | 11 ++-
 .../kafka/springboot/KafkaComponentConverter.java  | 77 +++++++++++++++++
 ...rnetesConfigMapsComponentAutoConfiguration.java |  9 +-
 ...sCustomResourcesComponentAutoConfiguration.java |  9 +-
 ...netesDeploymentsComponentAutoConfiguration.java |  9 +-
 .../KubernetesHPAComponentAutoConfiguration.java   |  9 +-
 .../KubernetesJobComponentAutoConfiguration.java   |  9 +-
 ...rnetesNamespacesComponentAutoConfiguration.java |  9 +-
 .../KubernetesNodesComponentAutoConfiguration.java |  9 +-
 ...ersistentVolumesComponentAutoConfiguration.java |  9 +-
 ...entVolumesClaimsComponentAutoConfiguration.java |  9 +-
 .../KubernetesPodsComponentAutoConfiguration.java  |  9 +-
 ...ationControllersComponentAutoConfiguration.java |  9 +-
 ...esResourcesQuotaComponentAutoConfiguration.java |  9 +-
 ...ubernetesSecretsComponentAutoConfiguration.java |  9 +-
 ...sServiceAccountsComponentAutoConfiguration.java |  9 +-
 ...bernetesServicesComponentAutoConfiguration.java |  9 +-
 ...hiftBuildConfigsComponentAutoConfiguration.java |  9 +-
 .../OpenshiftBuildsComponentAutoConfiguration.java |  9 +-
 .../springboot/KuduComponentAutoConfiguration.java |  9 +-
 .../LanguageComponentAutoConfiguration.java        |  9 +-
 .../springboot/LdapComponentAutoConfiguration.java |  9 +-
 .../springboot/LdifComponentAutoConfiguration.java |  9 +-
 .../springboot/LogComponentAutoConfiguration.java  | 11 ++-
 .../log/springboot/LogComponentConverter.java      | 63 ++++++++++++++
 .../LuceneComponentAutoConfiguration.java          | 11 ++-
 .../springboot/LuceneComponentConverter.java       | 65 +++++++++++++++
 .../LumberjackComponentAutoConfiguration.java      | 11 ++-
 .../springboot/LumberjackComponentConverter.java   | 64 ++++++++++++++
 .../springboot/LZFDataFormatAutoConfiguration.java |  9 +-
 .../springboot/MailComponentAutoConfiguration.java | 11 ++-
 .../mail/springboot/MailComponentConverter.java    | 79 ++++++++++++++++++
 .../MimeMultipartDataFormatAutoConfiguration.java  |  9 +-
 .../MasterComponentAutoConfiguration.java          | 11 ++-
 .../springboot/MasterComponentConverter.java       | 65 +++++++++++++++
 .../MetricsComponentAutoConfiguration.java         | 11 ++-
 .../springboot/MetricsComponentConverter.java      | 63 ++++++++++++++
 .../MicrometerComponentAutoConfiguration.java      | 11 ++-
 .../springboot/MicrometerComponentConverter.java   | 64 ++++++++++++++
 .../MiloClientComponentAutoConfiguration.java      | 11 ++-
 .../springboot/MiloClientComponentConverter.java   | 64 ++++++++++++++
 .../MiloServerComponentAutoConfiguration.java      | 11 ++-
 .../springboot/MiloServerComponentConverter.java   | 72 ++++++++++++++++
 .../springboot/MinaComponentAutoConfiguration.java | 11 ++-
 .../mina/springboot/MinaComponentConverter.java    | 71 ++++++++++++++++
 .../MinioComponentAutoConfiguration.java           | 11 ++-
 .../minio/springboot/MinioComponentConverter.java  | 75 +++++++++++++++++
 .../springboot/MllpComponentAutoConfiguration.java | 11 ++-
 .../mllp/springboot/MllpComponentConverter.java    | 63 ++++++++++++++
 .../springboot/MockComponentAutoConfiguration.java |  9 +-
 .../GridFsComponentAutoConfiguration.java          |  9 +-
 .../MongoDbComponentAutoConfiguration.java         | 11 ++-
 .../springboot/MongoDbComponentConverter.java      | 63 ++++++++++++++
 .../springboot/MsvComponentAutoConfiguration.java  | 11 ++-
 .../msv/springboot/MsvComponentConverter.java      | 65 +++++++++++++++
 .../MustacheComponentAutoConfiguration.java        | 11 ++-
 .../springboot/MustacheComponentConverter.java     | 63 ++++++++++++++
 .../springboot/MvelComponentAutoConfiguration.java |  9 +-
 .../springboot/MvelLanguageAutoConfiguration.java  |  9 +-
 .../MyBatisBeanComponentAutoConfiguration.java     | 11 ++-
 .../springboot/MyBatisBeanComponentConverter.java  | 64 ++++++++++++++
 .../MyBatisComponentAutoConfiguration.java         | 11 ++-
 .../springboot/MyBatisComponentConverter.java      | 63 ++++++++++++++
 .../NagiosComponentAutoConfiguration.java          | 11 ++-
 .../springboot/NagiosComponentConverter.java       | 65 +++++++++++++++
 .../springboot/NatsComponentAutoConfiguration.java |  9 +-
 .../NettyHttpComponentAutoConfiguration.java       | 11 ++-
 .../springboot/NettyHttpComponentConverter.java    | 92 ++++++++++++++++++++
 .../NettyComponentAutoConfiguration.java           | 11 ++-
 .../netty/springboot/NettyComponentConverter.java  | 85 +++++++++++++++++++
 .../NitriteComponentAutoConfiguration.java         |  9 +-
 .../springboot/NsqComponentAutoConfiguration.java  |  9 +-
 .../OAIPMHComponentAutoConfiguration.java          |  9 +-
 .../springboot/OgnlLanguageAutoConfiguration.java  |  9 +-
 .../Olingo2ComponentAutoConfiguration.java         | 11 ++-
 .../springboot/Olingo2ComponentConverter.java      | 75 +++++++++++++++++
 .../Olingo4ComponentAutoConfiguration.java         | 11 ++-
 .../springboot/Olingo4ComponentConverter.java      | 71 ++++++++++++++++
 .../CinderComponentAutoConfiguration.java          |  9 +-
 .../GlanceComponentAutoConfiguration.java          |  9 +-
 .../KeystoneComponentAutoConfiguration.java        |  9 +-
 .../NeutronComponentAutoConfiguration.java         |  9 +-
 .../springboot/NovaComponentAutoConfiguration.java |  9 +-
 .../SwiftComponentAutoConfiguration.java           |  9 +-
 .../OptaPlannerComponentAutoConfiguration.java     |  9 +-
 .../springboot/PahoComponentAutoConfiguration.java | 11 ++-
 .../paho/springboot/PahoComponentConverter.java    | 73 ++++++++++++++++
 .../springboot/PdfComponentAutoConfiguration.java  |  9 +-
 ...gReplicationSlotComponentAutoConfiguration.java |  9 +-
 .../PgEventComponentAutoConfiguration.java         |  9 +-
 .../PlatformHttpComponentAutoConfiguration.java    | 11 ++-
 .../springboot/PlatformHttpComponentConverter.java | 64 ++++++++++++++
 .../PrinterComponentAutoConfiguration.java         |  9 +-
 .../ProtobufDataFormatAutoConfiguration.java       |  9 +-
 .../PubNubComponentAutoConfiguration.java          |  9 +-
 .../PulsarComponentAutoConfiguration.java          | 11 ++-
 .../springboot/PulsarComponentConverter.java       | 83 ++++++++++++++++++
 .../QuartzComponentAutoConfiguration.java          | 11 ++-
 .../springboot/QuartzComponentConverter.java       | 65 +++++++++++++++
 .../QuickfixjComponentAutoConfiguration.java       | 11 ++-
 .../springboot/QuickfixjComponentConverter.java    | 68 +++++++++++++++
 .../RabbitMQComponentAutoConfiguration.java        | 11 ++-
 .../springboot/RabbitMQComponentConverter.java     | 67 +++++++++++++++
 .../ReactiveStreamsComponentAutoConfiguration.java | 11 ++-
 .../ReactiveStreamsComponentConverter.java         | 66 +++++++++++++++
 .../springboot/RefComponentAutoConfiguration.java  |  9 +-
 .../RestOpenApiComponentAutoConfiguration.java     | 11 ++-
 .../springboot/RestOpenApiComponentConverter.java  | 64 ++++++++++++++
 .../RestApiComponentAutoConfiguration.java         |  9 +-
 .../springboot/RestComponentAutoConfiguration.java |  9 +-
 .../RestSwaggerComponentAutoConfiguration.java     | 11 ++-
 .../springboot/RestSwaggerComponentConverter.java  | 64 ++++++++++++++
 .../ResteasyComponentAutoConfiguration.java        | 11 ++-
 .../springboot/ResteasyComponentConverter.java     | 63 ++++++++++++++
 .../RobotFrameworkComponentAutoConfiguration.java  | 11 ++-
 .../RobotFrameworkComponentConverter.java          | 64 ++++++++++++++
 .../springboot/RssComponentAutoConfiguration.java  |  9 +-
 .../springboot/RssDataFormatAutoConfiguration.java |  9 +-
 .../springboot/SagaComponentAutoConfiguration.java |  9 +-
 .../SalesforceComponentAutoConfiguration.java      | 11 ++-
 .../springboot/SalesforceComponentConverter.java   | 88 ++++++++++++++++++++
 .../NetWeaverComponentAutoConfiguration.java       |  9 +-
 .../XQueryComponentAutoConfiguration.java          | 11 ++-
 .../springboot/XQueryComponentConverter.java       | 65 +++++++++++++++
 .../XQueryLanguageAutoConfiguration.java           |  9 +-
 .../SchedulerComponentAutoConfiguration.java       |  9 +-
 .../SchematronComponentAutoConfiguration.java      |  9 +-
 .../springboot/SedaComponentAutoConfiguration.java | 11 ++-
 .../seda/springboot/SedaComponentConverter.java    | 63 ++++++++++++++
 .../ServiceComponentAutoConfiguration.java         | 11 ++-
 .../springboot/ServiceComponentConverter.java      | 65 +++++++++++++++
 .../ServiceNowComponentAutoConfiguration.java      | 11 ++-
 .../springboot/ServiceNowComponentConverter.java   | 74 +++++++++++++++++
 .../ServletComponentAutoConfiguration.java         | 11 ++-
 .../springboot/ServletComponentConverter.java      | 69 +++++++++++++++
 .../springboot/SipComponentAutoConfiguration.java  |  9 +-
 .../SjmsBatchComponentAutoConfiguration.java       | 11 ++-
 .../springboot/SjmsBatchComponentConverter.java    | 66 +++++++++++++++
 .../springboot/SjmsComponentAutoConfiguration.java | 11 ++-
 .../sjms/springboot/SjmsComponentConverter.java    | 77 +++++++++++++++++
 .../Sjms2ComponentAutoConfiguration.java           | 11 ++-
 .../sjms2/springboot/Sjms2ComponentConverter.java  | 77 +++++++++++++++++
 .../SlackComponentAutoConfiguration.java           |  9 +-
 .../springboot/SmppComponentAutoConfiguration.java | 11 ++-
 .../smpp/springboot/SmppComponentConverter.java    | 67 +++++++++++++++
 .../SnakeYAMLDataFormatAutoConfiguration.java      |  9 +-
 .../springboot/SnmpComponentAutoConfiguration.java |  9 +-
 .../SoapJaxbDataFormatAutoConfiguration.java       |  9 +-
 .../springboot/SolrComponentAutoConfiguration.java |  9 +-
 .../SoroushBotComponentAutoConfiguration.java      |  9 +-
 .../SparkComponentAutoConfiguration.java           | 11 ++-
 .../spark/springboot/SparkComponentConverter.java  | 65 +++++++++++++++
 .../SplunkComponentAutoConfiguration.java          | 11 ++-
 .../springboot/SplunkComponentConverter.java       | 63 ++++++++++++++
 .../SpringBatchComponentAutoConfiguration.java     | 11 ++-
 .../springboot/SpringBatchComponentConverter.java  | 66 +++++++++++++++
 ...pringIntegrationComponentAutoConfiguration.java |  9 +-
 .../SpringLdapComponentAutoConfiguration.java      |  9 +-
 .../RedisComponentAutoConfiguration.java           |  9 +-
 .../EventComponentAutoConfiguration.java           |  9 +-
 .../springboot/SpelLanguageAutoConfiguration.java  |  9 +-
 ...SpringWebserviceComponentAutoConfiguration.java |  9 +-
 .../springboot/SqlComponentAutoConfiguration.java  | 11 ++-
 .../sql/springboot/SqlComponentConverter.java      | 63 ++++++++++++++
 .../SqlStoredComponentAutoConfiguration.java       | 11 ++-
 .../springboot/SqlStoredComponentConverter.java    | 64 ++++++++++++++
 .../springboot/SshComponentAutoConfiguration.java  | 11 ++-
 .../ssh/springboot/SshComponentConverter.java      | 65 +++++++++++++++
 .../springboot/StAXComponentAutoConfiguration.java |  9 +-
 .../StompComponentAutoConfiguration.java           | 11 ++-
 .../stomp/springboot/StompComponentConverter.java  | 69 +++++++++++++++
 .../StreamComponentAutoConfiguration.java          |  9 +-
 .../StringTemplateComponentAutoConfiguration.java  |  9 +-
 .../springboot/StubComponentAutoConfiguration.java | 11 ++-
 .../stub/springboot/StubComponentConverter.java    | 63 ++++++++++++++
 .../SyslogDataFormatAutoConfiguration.java         |  9 +-
 .../TidyMarkupDataFormatAutoConfiguration.java     |  9 +-
 .../TarFileDataFormatAutoConfiguration.java        |  9 +-
 .../TelegramComponentAutoConfiguration.java        | 11 ++-
 .../springboot/TelegramComponentConverter.java     | 65 +++++++++++++++
 .../ThriftComponentAutoConfiguration.java          |  9 +-
 .../ThriftDataFormatAutoConfiguration.java         |  9 +-
 .../springboot/TikaComponentAutoConfiguration.java |  9 +-
 .../TimerComponentAutoConfiguration.java           |  9 +-
 .../TwilioComponentAutoConfiguration.java          | 11 ++-
 .../springboot/TwilioComponentConverter.java       | 65 +++++++++++++++
 ...terDirectMessageComponentAutoConfiguration.java |  9 +-
 .../TwitterSearchComponentAutoConfiguration.java   |  9 +-
 .../TwitterTimelineComponentAutoConfiguration.java |  9 +-
 .../UndertowComponentAutoConfiguration.java        | 11 ++-
 .../springboot/UndertowComponentConverter.java     | 71 ++++++++++++++++
 .../UniVocityCsvDataFormatAutoConfiguration.java   |  9 +-
 ...ocityFixedWidthDataFormatAutoConfiguration.java |  9 +-
 .../UniVocityTsvDataFormatAutoConfiguration.java   |  9 +-
 .../ValidatorComponentAutoConfiguration.java       | 11 ++-
 .../springboot/ValidatorComponentConverter.java    | 64 ++++++++++++++
 .../VelocityComponentAutoConfiguration.java        | 11 ++-
 .../springboot/VelocityComponentConverter.java     | 63 ++++++++++++++
 .../VertxHttpComponentAutoConfiguration.java       | 11 ++-
 .../springboot/VertxHttpComponentConverter.java    | 74 +++++++++++++++++
 .../VertxComponentAutoConfiguration.java           | 11 ++-
 .../vertx/springboot/VertxComponentConverter.java  | 67 +++++++++++++++
 .../VertxWebsocketComponentAutoConfiguration.java  | 11 ++-
 .../VertxWebsocketComponentConverter.java          | 68 +++++++++++++++
 .../springboot/VmComponentAutoConfiguration.java   | 11 ++-
 .../vm/springboot/VmComponentConverter.java        | 63 ++++++++++++++
 .../WeatherComponentAutoConfiguration.java         |  9 +-
 .../Web3jComponentAutoConfiguration.java           | 11 ++-
 .../web3j/springboot/Web3jComponentConverter.java  | 67 +++++++++++++++
 .../WebhookComponentAutoConfiguration.java         | 11 ++-
 .../springboot/WebhookComponentConverter.java      | 63 ++++++++++++++
 .../JSR356WebSocketComponentAutoConfiguration.java | 11 ++-
 .../JSR356WebSocketComponentConverter.java         | 64 ++++++++++++++
 .../WebsocketComponentAutoConfiguration.java       | 11 ++-
 .../springboot/WebsocketComponentConverter.java    | 66 +++++++++++++++
 .../springboot/WekaComponentAutoConfiguration.java |  9 +-
 .../WordpressComponentAutoConfiguration.java       | 11 ++-
 .../springboot/WordpressComponentConverter.java    | 66 +++++++++++++++
 .../WorkdayComponentAutoConfiguration.java         |  9 +-
 .../XChangeComponentAutoConfiguration.java         |  9 +-
 .../springboot/XJComponentAutoConfiguration.java   | 11 ++-
 .../xj/springboot/XJComponentConverter.java        | 69 +++++++++++++++
 .../XMLTokenizeLanguageAutoConfiguration.java      |  9 +-
 .../XmlSignerComponentAutoConfiguration.java       | 11 ++-
 .../springboot/XmlSignerComponentConverter.java    | 74 +++++++++++++++++
 .../XmlVerifierComponentAutoConfiguration.java     | 11 ++-
 .../springboot/XmlVerifierComponentConverter.java  | 76 +++++++++++++++++
 .../XMLSecurityDataFormatAutoConfiguration.java    |  9 +-
 .../springboot/XmppComponentAutoConfiguration.java |  9 +-
 .../springboot/XPathLanguageAutoConfiguration.java |  9 +-
 .../XsltSaxonComponentAutoConfiguration.java       | 11 ++-
 .../springboot/XsltSaxonComponentConverter.java    | 70 ++++++++++++++++
 .../springboot/XsltComponentAutoConfiguration.java | 11 ++-
 .../xslt/springboot/XsltComponentConverter.java    | 67 +++++++++++++++
 .../JsonDataFormatAutoConfiguration.java           |  9 +-
 .../XStreamDataFormatAutoConfiguration.java        |  9 +-
 .../YammerComponentAutoConfiguration.java          | 11 ++-
 .../springboot/YammerComponentConverter.java       | 65 +++++++++++++++
 .../ZendeskComponentAutoConfiguration.java         | 11 ++-
 .../springboot/ZendeskComponentConverter.java      | 65 +++++++++++++++
 .../GzipDeflaterDataFormatAutoConfiguration.java   |  9 +-
 .../ZipDeflaterDataFormatAutoConfiguration.java    |  9 +-
 .../ZipFileDataFormatAutoConfiguration.java        |  9 +-
 .../MasterComponentAutoConfiguration.java          | 11 ++-
 .../springboot/MasterComponentConverter.java       | 65 +++++++++++++++
 .../ZooKeeperComponentAutoConfiguration.java       | 11 ++-
 .../springboot/ZooKeeperComponentConverter.java    | 64 ++++++++++++++
 633 files changed, 18328 insertions(+), 864 deletions(-)

diff --git a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java
index 4c69695..d60f872 100644
--- a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java
+++ b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ActiveMQComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ActiveMQComponentConfiguration configuration;
 
+    public ActiveMQComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new ActiveMQComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureActiveMQComponent() {
diff --git a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java
new file mode 100644
index 0000000..ee3b682
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.activemq.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ActiveMQComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public ActiveMQComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, javax.jms.ConnectionFactory.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsMessageType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.ConsumerType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.DefaultTaskExecutorType.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.core.task.TaskExecutor.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.ReplyToType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.destination.DestinationResolver.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.util.ErrorHandler.class));
+        answer.add(new ConvertiblePair(String.class, javax.jms.ExceptionListener.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsKeyFormatStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.converter.MessageConverter.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageCreatedStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageListenerContainerFactory.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.QueueBrowseStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.LoggingLevel.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.transaction.PlatformTransactionManager.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "javax.jms.ConnectionFactory": return camelContext.getRegistry().lookupByNameAndType(ref, javax.jms.ConnectionFactory.class);
+            case "org.apache.camel.component.jms.JmsMessageType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsMessageType.class);
+            case "org.apache.camel.component.jms.ConsumerType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.ConsumerType.class);
+            case "org.apache.camel.component.jms.DefaultTaskExecutorType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.DefaultTaskExecutorType.class);
+            case "org.springframework.core.task.TaskExecutor": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.core.task.TaskExecutor.class);
+            case "org.apache.camel.component.jms.ReplyToType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.ReplyToType.class);
+            case "org.apache.camel.component.jms.JmsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsConfiguration.class);
+            case "org.springframework.jms.support.destination.DestinationResolver": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.jms.support.destination.DestinationResolver.class);
+            case "org.springframework.util.ErrorHandler": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.util.ErrorHandler.class);
+            case "javax.jms.ExceptionListener": return camelContext.getRegistry().lookupByNameAndType(ref, javax.jms.ExceptionListener.class);
+            case "org.apache.camel.component.jms.JmsKeyFormatStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsKeyFormatStrategy.class);
+            case "org.springframework.jms.support.converter.MessageConverter": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.jms.support.converter.MessageConverter.class);
+            case "org.apache.camel.component.jms.MessageCreatedStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.MessageCreatedStrategy.class);
+            case "org.apache.camel.component.jms.MessageListenerContainerFactory": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.MessageListenerContainerFactory.class);
+            case "org.apache.camel.component.jms.QueueBrowseStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.QueueBrowseStrategy.class);
+            case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+            case "org.apache.camel.LoggingLevel": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.LoggingLevel.class);
+            case "org.springframework.transaction.PlatformTransactionManager": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.transaction.PlatformTransactionManager.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
index 2bfc15c..4a46b54 100644
--- a/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
+++ b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AhcComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AhcComponentConfiguration configuration;
 
+    public AhcComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AhcComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAhcComponent() {
diff --git a/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConverter.java b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConverter.java
new file mode 100644
index 0000000..3f0d723
--- /dev/null
+++ b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ahc.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AhcComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AhcComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.ahc.AhcBinding.class));
+        answer.add(new ConvertiblePair(String.class, org.asynchttpclient.AsyncHttpClient.class));
+        answer.add(new ConvertiblePair(String.class, org.asynchttpclient.AsyncHttpClientConfig.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.ahc.AhcBinding": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.ahc.AhcBinding.class);
+            case "org.asynchttpclient.AsyncHttpClient": return camelContext.getRegistry().lookupByNameAndType(ref, org.asynchttpclient.AsyncHttpClient.class);
+            case "org.asynchttpclient.AsyncHttpClientConfig": return camelContext.getRegistry().lookupByNameAndType(ref, org.asynchttpclient.AsyncHttpClientConfig.class);
+            case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+            case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
index 4aad5a4..8312d79 100644
--- a/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
+++ b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class WsComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private WsComponentConfiguration configuration;
 
+    public WsComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new WsComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureWsComponent() {
diff --git a/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentConverter.java b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentConverter.java
new file mode 100644
index 0000000..80a0d54
--- /dev/null
+++ b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ahc.ws.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class WsComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public WsComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.ahc.AhcBinding.class));
+        answer.add(new ConvertiblePair(String.class, org.asynchttpclient.AsyncHttpClient.class));
+        answer.add(new ConvertiblePair(String.class, org.asynchttpclient.AsyncHttpClientConfig.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.ahc.AhcBinding": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.ahc.AhcBinding.class);
+            case "org.asynchttpclient.AsyncHttpClient": return camelContext.getRegistry().lookupByNameAndType(ref, org.asynchttpclient.AsyncHttpClient.class);
+            case "org.asynchttpclient.AsyncHttpClientConfig": return camelContext.getRegistry().lookupByNameAndType(ref, org.asynchttpclient.AsyncHttpClientConfig.class);
+            case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+            case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
index b69e002..e291135 100644
--- a/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
+++ b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AMQPComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AMQPComponentConfiguration configuration;
 
+    public AMQPComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AMQPComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAMQPComponent() {
diff --git a/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentConverter.java b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentConverter.java
new file mode 100644
index 0000000..a95dae1
--- /dev/null
+++ b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentConverter.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.amqp.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AMQPComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AMQPComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, javax.jms.ConnectionFactory.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsMessageType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.ConsumerType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.DefaultTaskExecutorType.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.core.task.TaskExecutor.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.ReplyToType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.destination.DestinationResolver.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.util.ErrorHandler.class));
+        answer.add(new ConvertiblePair(String.class, javax.jms.ExceptionListener.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsKeyFormatStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.converter.MessageConverter.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageCreatedStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageListenerContainerFactory.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.QueueBrowseStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.LoggingLevel.class));
+        answer.add(new ConvertiblePair(String.class, org.springframework.transaction.PlatformTransactionManager.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "javax.jms.ConnectionFactory": return camelContext.getRegistry().lookupByNameAndType(ref, javax.jms.ConnectionFactory.class);
+            case "org.apache.camel.component.jms.JmsMessageType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsMessageType.class);
+            case "org.apache.camel.component.jms.ConsumerType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.ConsumerType.class);
+            case "org.apache.camel.component.jms.DefaultTaskExecutorType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.DefaultTaskExecutorType.class);
+            case "org.springframework.core.task.TaskExecutor": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.core.task.TaskExecutor.class);
+            case "org.apache.camel.component.jms.ReplyToType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.ReplyToType.class);
+            case "org.apache.camel.component.jms.JmsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsConfiguration.class);
+            case "org.springframework.jms.support.destination.DestinationResolver": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.jms.support.destination.DestinationResolver.class);
+            case "org.springframework.util.ErrorHandler": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.util.ErrorHandler.class);
+            case "javax.jms.ExceptionListener": return camelContext.getRegistry().lookupByNameAndType(ref, javax.jms.ExceptionListener.class);
+            case "org.apache.camel.component.jms.JmsKeyFormatStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsKeyFormatStrategy.class);
+            case "org.springframework.jms.support.converter.MessageConverter": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.jms.support.converter.MessageConverter.class);
+            case "org.apache.camel.component.jms.MessageCreatedStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.MessageCreatedStrategy.class);
+            case "org.apache.camel.component.jms.MessageListenerContainerFactory": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.MessageListenerContainerFactory.class);
+            case "org.apache.camel.component.jms.QueueBrowseStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.QueueBrowseStrategy.class);
+            case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+            case "org.apache.camel.LoggingLevel": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.LoggingLevel.class);
+            case "org.springframework.transaction.PlatformTransactionManager": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.transaction.PlatformTransactionManager.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-any23-starter/src/main/java/org/apache/camel/dataformat/any23/springboot/Any23DataFormatAutoConfiguration.java b/components-starter/camel-any23-starter/src/main/java/org/apache/camel/dataformat/any23/springboot/Any23DataFormatAutoConfiguration.java
index d97bcfc..ccb7a83 100644
--- a/components-starter/camel-any23-starter/src/main/java/org/apache/camel/dataformat/any23/springboot/Any23DataFormatAutoConfiguration.java
+++ b/components-starter/camel-any23-starter/src/main/java/org/apache/camel/dataformat/any23/springboot/Any23DataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class Any23DataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Any23DataFormatConfiguration configuration;
 
+    public Any23DataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureAny23DataFormatFactory() {
diff --git a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
index 392fd76..077a6b4 100644
--- a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
+++ b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ApnsComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ApnsComponentConfiguration configuration;
 
+    public ApnsComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new ApnsComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureApnsComponent() {
diff --git a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConverter.java b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConverter.java
new file mode 100644
index 0000000..db46b6d
--- /dev/null
+++ b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.apns.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ApnsComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public ApnsComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.notnoop.apns.ApnsService.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.notnoop.apns.ApnsService": return camelContext.getRegistry().lookupByNameAndType(ref, com.notnoop.apns.ApnsService.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentAutoConfiguration.java b/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentAutoConfiguration.java
index 2caee54..295fb93 100644
--- a/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentAutoConfiguration.java
+++ b/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ArangoDbComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ArangoDbComponentConfiguration configuration;
 
+    public ArangoDbComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new ArangoDbComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureArangoDbComponent() {
diff --git a/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentConverter.java b/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentConverter.java
new file mode 100644
index 0000000..e3da532
--- /dev/null
+++ b/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentConverter.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.arangodb.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ArangoDbComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public ArangoDbComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.arangodb.ArangoDbConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.arangodb.ArangoDbOperation.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.arangodb.ArangoDbConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.arangodb.ArangoDbConfiguration.class);
+            case "org.apache.camel.component.arangodb.ArangoDbOperation": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.arangodb.ArangoDbOperation.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentAutoConfiguration.java b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentAutoConfiguration.java
index 3035f95..6589024 100644
--- a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AS2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AS2ComponentConfiguration configuration;
 
+    public AS2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AS2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAS2Component() {
diff --git a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
new file mode 100644
index 0000000..a3c6d8f
--- /dev/null
+++ b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.as2.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AS2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.as2.AS2Configuration.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.as2.AS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.as2.AS2Configuration.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-asn1-starter/src/main/java/org/apache/camel/dataformat/asn1/springboot/ASN1DataFormatAutoConfiguration.java b/components-starter/camel-asn1-starter/src/main/java/org/apache/camel/dataformat/asn1/springboot/ASN1DataFormatAutoConfiguration.java
index f7393d3..f115fb4 100644
--- a/components-starter/camel-asn1-starter/src/main/java/org/apache/camel/dataformat/asn1/springboot/ASN1DataFormatAutoConfiguration.java
+++ b/components-starter/camel-asn1-starter/src/main/java/org/apache/camel/dataformat/asn1/springboot/ASN1DataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ASN1DataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ASN1DataFormatConfiguration configuration;
 
+    public ASN1DataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureASN1DataFormatFactory() {
diff --git a/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java b/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
index 51d78ca..4b4668b 100644
--- a/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
+++ b/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class AsteriskComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AsteriskComponentConfiguration configuration;
 
+    public AsteriskComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAsteriskComponent() {
diff --git a/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentAutoConfiguration.java b/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentAutoConfiguration.java
index fbd1317..b143328 100644
--- a/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentAutoConfiguration.java
+++ b/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtlasMapComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtlasMapComponentConfiguration configuration;
 
+    public AtlasMapComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AtlasMapComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtlasMapComponent() {
diff --git a/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentConverter.java b/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentConverter.java
new file mode 100644
index 0000000..6a7783a
--- /dev/null
+++ b/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atlasmap.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtlasMapComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AtlasMapComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, io.atlasmap.api.AtlasContextFactory.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "io.atlasmap.api.AtlasContextFactory": return camelContext.getRegistry().lookupByNameAndType(ref, io.atlasmap.api.AtlasContextFactory.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java b/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
index ed6799f..b08e9c2 100644
--- a/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
+++ b/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class AtmosComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtmosComponentConfiguration configuration;
 
+    public AtmosComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtmosComponent() {
diff --git a/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
index b6bc50f..bb610a5 100644
--- a/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
+++ b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class WebsocketComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private WebsocketComponentConfiguration configuration;
 
+    public WebsocketComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new WebsocketComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureWebsocketComponent() {
diff --git a/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentConverter.java b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentConverter.java
new file mode 100644
index 0000000..4215db3
--- /dev/null
+++ b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atmosphere.websocket.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class WebsocketComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public WebsocketComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.http.common.HttpRegistry.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.http.common.HttpBinding.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.http.common.HttpConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.http.common.HttpRegistry": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.http.common.HttpRegistry.class);
+            case "org.apache.camel.http.common.HttpBinding": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.http.common.HttpBinding.class);
+            case "org.apache.camel.http.common.HttpConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.http.common.HttpConfiguration.class);
+            case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java b/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
index 794307e..bd4e250 100644
--- a/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
+++ b/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class AtomComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtomComponentConfiguration configuration;
 
+    public AtomComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtomComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentAutoConfiguration.java
index 3a19bac..a35edb2 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixMapComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtomixMapComponentConfiguration configuration;
 
+    public AtomixMapComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AtomixMapComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtomixMapComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentConverter.java
new file mode 100644
index 0000000..d2c9c38
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.map.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixMapComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AtomixMapComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.map.AtomixMapConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.map.AtomixMap.Action.class));
+        answer.add(new ConvertiblePair(String.class, java.lang.Object.class));
+        answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+        answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+            case "org.apache.camel.component.atomix.client.map.AtomixMapConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.map.AtomixMapConfiguration.class);
+            case "org.apache.camel.component.atomix.client.map.AtomixMap.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.map.AtomixMap.Action.class);
+            case "java.lang.Object": return camelContext.getRegistry().lookupByNameAndType(ref, java.lang.Object.class);
+            case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+            case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentAutoConfiguration.java
index 7219287..d0a0c6f 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixMessagingComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtomixMessagingComponentConfiguration configuration;
 
+    public AtomixMessagingComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AtomixMessagingComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtomixMessagingComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentConverter.java
new file mode 100644
index 0000000..c25caed
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.messaging.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixMessagingComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AtomixMessagingComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.messaging.AtomixMessagingConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.messaging.AtomixMessaging.Action.class));
+        answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+        answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+            case "org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType.class);
+            case "org.apache.camel.component.atomix.client.messaging.AtomixMessagingConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.messaging.AtomixMessagingConfiguration.class);
+            case "org.apache.camel.component.atomix.client.messaging.AtomixMessaging.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.messaging.AtomixMessaging.Action.class);
+            case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+            case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentAutoConfiguration.java
index 8684751..52e1f8c 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixMultiMapComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtomixMultiMapComponentConfiguration configuration;
 
+    public AtomixMultiMapComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AtomixMultiMapComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtomixMultiMapComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentConverter.java
new file mode 100644
index 0000000..39e20c4
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.multimap.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixMultiMapComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AtomixMultiMapComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action.class));
+        answer.add(new ConvertiblePair(String.class, java.lang.Object.class));
+        answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+        answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+            case "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration.class);
+            case "org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action.class);
+            case "java.lang.Object": return camelContext.getRegistry().lookupByNameAndType(ref, java.lang.Object.class);
+            case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+            case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentAutoConfiguration.java
index 03e73b3..398968a 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixQueueComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtomixQueueComponentConfiguration configuration;
 
+    public AtomixQueueComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AtomixQueueComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtomixQueueComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentConverter.java
new file mode 100644
index 0000000..a31806f
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.queue.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixQueueComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AtomixQueueComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.queue.AtomixQueueConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.queue.AtomixQueue.Action.class));
+        answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+        answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+            case "org.apache.camel.component.atomix.client.queue.AtomixQueueConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.queue.AtomixQueueConfiguration.class);
+            case "org.apache.camel.component.atomix.client.queue.AtomixQueue.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.queue.AtomixQueue.Action.class);
+            case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+            case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentAutoConfiguration.java
index 1be55ca..bdc30d9 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixSetComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtomixSetComponentConfiguration configuration;
 
+    public AtomixSetComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AtomixSetComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtomixSetComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentConverter.java
new file mode 100644
index 0000000..e706c6b
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.set.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixSetComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AtomixSetComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.set.AtomixSetConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.set.AtomixSet.Action.class));
+        answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+        answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+            case "org.apache.camel.component.atomix.client.set.AtomixSetConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.set.AtomixSetConfiguration.class);
+            case "org.apache.camel.component.atomix.client.set.AtomixSet.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.set.AtomixSet.Action.class);
+            case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+            case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentAutoConfiguration.java
index e2d515d..4a80aaf 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixValueComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AtomixValueComponentConfiguration configuration;
 
+    public AtomixValueComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AtomixValueComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAtomixValueComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentConverter.java
new file mode 100644
index 0000000..0c94dfe
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.value.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixValueComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AtomixValueComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.value.AtomixValueConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.value.AtomixValue.Action.class));
+        answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+        answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+            case "org.apache.camel.component.atomix.client.value.AtomixValueConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.value.AtomixValueConfiguration.class);
+            case "org.apache.camel.component.atomix.client.value.AtomixValue.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.value.AtomixValue.Action.class);
+            case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+            case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java b/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
index afdc2e3..6c59ead 100644
--- a/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
+++ b/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AvroComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AvroComponentConfiguration configuration;
 
+    public AvroComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AvroComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAvroComponent() {
diff --git a/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentConverter.java b/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentConverter.java
new file mode 100644
index 0000000..6986a50
--- /dev/null
+++ b/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentConverter.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.avro.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AvroComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AvroComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.avro.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.avro.AvroConfiguration.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.avro.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.avro.Protocol.class);
+            case "org.apache.camel.component.avro.AvroConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.avro.AvroConfiguration.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatAutoConfiguration.java b/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatAutoConfiguration.java
index 78d0aa1..782b7ce 100644
--- a/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatAutoConfiguration.java
+++ b/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class AvroDataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AvroDataFormatConfiguration configuration;
 
+    public AvroDataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureAvroDataFormatFactory() {
diff --git a/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java b/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
index 45a0869..5092e1e 100644
--- a/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CwComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CwComponentConfiguration configuration;
 
+    public CwComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new CwComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCwComponent() {
diff --git a/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentConverter.java b/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentConverter.java
new file mode 100644
index 0000000..bcc4bdf
--- /dev/null
+++ b/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentConverter.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.cw.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CwComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public CwComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.cloudwatch.AmazonCloudWatch.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.cw.CwConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.cloudwatch.AmazonCloudWatch": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.cloudwatch.AmazonCloudWatch.class);
+            case "org.apache.camel.component.aws.cw.CwConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.cw.CwConfiguration.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
index 2f289e2..025e053 100644
--- a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class DdbComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private DdbComponentConfiguration configuration;
 
+    public DdbComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new DdbComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureDdbComponent() {
diff --git a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentConverter.java b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentConverter.java
new file mode 100644
index 0000000..066f058
--- /dev/null
+++ b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class DdbComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public DdbComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.dynamodbv2.AmazonDynamoDB.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ddb.DdbConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ddb.DdbOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.dynamodbv2.AmazonDynamoDB": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.dynamodbv2.AmazonDynamoDB.class);
+            case "org.apache.camel.component.aws.ddb.DdbConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ddb.DdbConfiguration.class);
+            case "org.apache.camel.component.aws.ddb.DdbOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ddb.DdbOperations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
index 22b786b..ced2c59 100644
--- a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class DdbStreamComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private DdbStreamComponentConfiguration configuration;
 
+    public DdbStreamComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new DdbStreamComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureDdbStreamComponent() {
diff --git a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentConverter.java b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentConverter.java
new file mode 100644
index 0000000..c848d6e
--- /dev/null
+++ b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddbstream.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class DdbStreamComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public DdbStreamComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ddbstream.DdbStreamConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.dynamodbv2.model.ShardIteratorType.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ddbstream.SequenceNumberProvider.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams.class);
+            case "org.apache.camel.component.aws.ddbstream.DdbStreamConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ddbstream.DdbStreamConfiguration.class);
+            case "com.amazonaws.services.dynamodbv2.model.ShardIteratorType": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.dynamodbv2.model.ShardIteratorType.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+            case "org.apache.camel.component.aws.ddbstream.SequenceNumberProvider": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ddbstream.SequenceNumberProvider.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java b/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
index e6bd4d2..ed086b7 100644
--- a/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EC2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private EC2ComponentConfiguration configuration;
 
+    public EC2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new EC2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureEC2Component() {
diff --git a/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentConverter.java b/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentConverter.java
new file mode 100644
index 0000000..cfe32fd
--- /dev/null
+++ b/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ec2.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EC2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public EC2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.ec2.AmazonEC2.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ec2.EC2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ec2.EC2Operations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.ec2.AmazonEC2": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.ec2.AmazonEC2.class);
+            case "org.apache.camel.component.aws.ec2.EC2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ec2.EC2Configuration.class);
+            case "org.apache.camel.component.aws.ec2.EC2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ec2.EC2Operations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentAutoConfiguration.java b/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentAutoConfiguration.java
index ecc6183..91e6347 100644
--- a/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ECSComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ECSComponentConfiguration configuration;
 
+    public ECSComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new ECSComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureECSComponent() {
diff --git a/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentConverter.java b/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentConverter.java
new file mode 100644
index 0000000..e3a646c
--- /dev/null
+++ b/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ecs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ECSComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public ECSComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ecs.ECSConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.ecs.AmazonECS.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ecs.ECSOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws.ecs.ECSConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ecs.ECSConfiguration.class);
+            case "com.amazonaws.services.ecs.AmazonECS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.ecs.AmazonECS.class);
+            case "org.apache.camel.component.aws.ecs.ECSOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ecs.ECSOperations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentAutoConfiguration.java b/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentAutoConfiguration.java
index 9562fac..0bae4a5 100644
--- a/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EKSComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private EKSComponentConfiguration configuration;
 
+    public EKSComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new EKSComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureEKSComponent() {
diff --git a/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentConverter.java b/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentConverter.java
new file mode 100644
index 0000000..9c7b853
--- /dev/null
+++ b/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.eks.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EKSComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public EKSComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.eks.EKSConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.eks.AmazonEKS.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.eks.EKSOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws.eks.EKSConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.eks.EKSConfiguration.class);
+            case "com.amazonaws.services.eks.AmazonEKS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.eks.AmazonEKS.class);
+            case "org.apache.camel.component.aws.eks.EKSOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.eks.EKSOperations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentAutoConfiguration.java b/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentAutoConfiguration.java
index a2d13a4..0bdf80c 100644
--- a/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class IAMComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private IAMComponentConfiguration configuration;
 
+    public IAMComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new IAMComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureIAMComponent() {
diff --git a/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentConverter.java b/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentConverter.java
new file mode 100644
index 0000000..80fef08
--- /dev/null
+++ b/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.iam.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class IAMComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public IAMComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.iam.IAMConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.identitymanagement.AmazonIdentityManagement.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.iam.IAMOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws.iam.IAMConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.iam.IAMConfiguration.class);
+            case "com.amazonaws.services.identitymanagement.AmazonIdentityManagement": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.identitymanagement.AmazonIdentityManagement.class);
+            case "org.apache.camel.component.aws.iam.IAMOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.iam.IAMOperations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentAutoConfiguration.java b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentAutoConfiguration.java
index 5fd1621..dd0f1de 100644
--- a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KinesisFirehoseComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private KinesisFirehoseComponentConfiguration configuration;
 
+    public KinesisFirehoseComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new KinesisFirehoseComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureKinesisFirehoseComponent() {
diff --git a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentConverter.java b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentConverter.java
new file mode 100644
index 0000000..9d4aa90
--- /dev/null
+++ b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentConverter.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.firehose.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KinesisFirehoseComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public KinesisFirehoseComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehose.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.firehose.KinesisFirehoseConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehose": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehose.class);
+            case "org.apache.camel.component.aws.firehose.KinesisFirehoseConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.firehose.KinesisFirehoseConfiguration.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
index ef9ac43..5fae020 100644
--- a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KinesisComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private KinesisComponentConfiguration configuration;
 
+    public KinesisComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new KinesisComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureKinesisComponent() {
diff --git a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentConverter.java b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentConverter.java
new file mode 100644
index 0000000..49ad844
--- /dev/null
+++ b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.kinesis.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KinesisComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public KinesisComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kinesis.AmazonKinesis.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.kinesis.KinesisConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kinesis.model.ShardIteratorType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.kinesis.KinesisShardClosedStrategyEnum.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.kinesis.AmazonKinesis": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kinesis.AmazonKinesis.class);
+            case "org.apache.camel.component.aws.kinesis.KinesisConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.kinesis.KinesisConfiguration.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+            case "com.amazonaws.services.kinesis.model.ShardIteratorType": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kinesis.model.ShardIteratorType.class);
+            case "org.apache.camel.component.aws.kinesis.KinesisShardClosedStrategyEnum": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.kinesis.KinesisShardClosedStrategyEnum.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentAutoConfiguration.java b/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentAutoConfiguration.java
index 8773a96..0679d1f 100644
--- a/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KMSComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private KMSComponentConfiguration configuration;
 
+    public KMSComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new KMSComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureKMSComponent() {
diff --git a/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentConverter.java b/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentConverter.java
new file mode 100644
index 0000000..87d064d
--- /dev/null
+++ b/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.kms.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KMSComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public KMSComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.kms.KMSConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kms.AWSKMS.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.kms.KMSOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws.kms.KMSConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.kms.KMSConfiguration.class);
+            case "com.amazonaws.services.kms.AWSKMS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kms.AWSKMS.class);
+            case "org.apache.camel.component.aws.kms.KMSOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.kms.KMSOperations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java b/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java
index 251e560..1171ced 100644
--- a/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class LambdaComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private LambdaComponentConfiguration configuration;
 
+    public LambdaComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new LambdaComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureLambdaComponent() {
diff --git a/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConverter.java b/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConverter.java
new file mode 100644
index 0000000..ad50f5b
--- /dev/null
+++ b/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.lambda.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class LambdaComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public LambdaComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.lambda.LambdaConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.lambda.LambdaOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.lambda.AWSLambda.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws.lambda.LambdaConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.lambda.LambdaConfiguration.class);
+            case "org.apache.camel.component.aws.lambda.LambdaOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.lambda.LambdaOperations.class);
+            case "com.amazonaws.services.lambda.AWSLambda": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.lambda.AWSLambda.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentAutoConfiguration.java b/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentAutoConfiguration.java
index 2ca2cb4..b36b7cb 100644
--- a/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class MQComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private MQComponentConfiguration configuration;
 
+    public MQComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new MQComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureMQComponent() {
diff --git a/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentConverter.java b/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentConverter.java
new file mode 100644
index 0000000..fd91bf7
--- /dev/null
+++ b/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.mq.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class MQComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public MQComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.mq.AmazonMQ.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.mq.MQConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.mq.MQOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.mq.AmazonMQ": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.mq.AmazonMQ.class);
+            case "org.apache.camel.component.aws.mq.MQConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.mq.MQConfiguration.class);
+            case "org.apache.camel.component.aws.mq.MQOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.mq.MQOperations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentAutoConfiguration.java b/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentAutoConfiguration.java
index b0c5230..273040d 100644
--- a/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class MSKComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private MSKComponentConfiguration configuration;
 
+    public MSKComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new MSKComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureMSKComponent() {
diff --git a/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentConverter.java b/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentConverter.java
new file mode 100644
index 0000000..0825337
--- /dev/null
+++ b/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.msk.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class MSKComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public MSKComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.msk.MSKConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kafka.AWSKafka.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.msk.MSKOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws.msk.MSKConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.msk.MSKConfiguration.class);
+            case "com.amazonaws.services.kafka.AWSKafka": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kafka.AWSKafka.class);
+            case "org.apache.camel.component.aws.msk.MSKOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.msk.MSKOperations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java b/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
index 72faf06..0070a29 100644
--- a/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class S3ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private S3ComponentConfiguration configuration;
 
+    public S3ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new S3ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureS3Component() {
diff --git a/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentConverter.java b/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentConverter.java
new file mode 100644
index 0000000..286ccf5
--- /dev/null
+++ b/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentConverter.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.s3.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class S3ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public S3ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.s3.AmazonS3.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.s3.S3Configuration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.s3.model.EncryptionMaterials.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.s3.S3Operations.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.s3.AmazonS3": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.s3.AmazonS3.class);
+            case "org.apache.camel.component.aws.s3.S3Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.s3.S3Configuration.class);
+            case "com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+            case "com.amazonaws.services.s3.model.EncryptionMaterials": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.s3.model.EncryptionMaterials.class);
+            case "org.apache.camel.component.aws.s3.S3Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.s3.S3Operations.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-sdb-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java b/components-starter/camel-aws-sdb-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
index fd3b8fa..61b2de6 100644
--- a/components-starter/camel-aws-sdb-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-sdb-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class SdbComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private SdbComponentConfiguration configuration;
 
+    public SdbComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSdbComponent() {
diff --git a/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java b/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
index e2786e5..26b3e43 100644
--- a/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class SesComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private SesComponentConfiguration configuration;
 
+    public SesComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new SesComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSesComponent() {
diff --git a/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentConverter.java b/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentConverter.java
new file mode 100644
index 0000000..398deef
--- /dev/null
+++ b/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentConverter.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ses.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class SesComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public SesComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ses.SesConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.simpleemail.AmazonSimpleEmailService": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class);
+            case "org.apache.camel.component.aws.ses.SesConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ses.SesConfiguration.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java b/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
index 7847d57..a02ebf1 100644
--- a/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class SnsComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private SnsComponentConfiguration configuration;
 
+    public SnsComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new SnsComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSnsComponent() {
diff --git a/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentConverter.java b/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentConverter.java
new file mode 100644
index 0000000..0d1ba42
--- /dev/null
+++ b/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.sns.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class SnsComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public SnsComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.sns.AmazonSNS.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.sqs.AmazonSQS.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.sns.SnsConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.sns.AmazonSNS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.sns.AmazonSNS.class);
+            case "com.amazonaws.services.sqs.AmazonSQS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.sqs.AmazonSQS.class);
+            case "org.apache.camel.component.aws.sns.SnsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.sns.SnsConfiguration.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java b/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
index d1349fd..8ac2546 100644
--- a/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class SqsComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private SqsComponentConfiguration configuration;
 
+    public SqsComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new SqsComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSqsComponent() {
diff --git a/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConverter.java b/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConverter.java
new file mode 100644
index 0000000..abd5319
--- /dev/null
+++ b/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.sqs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class SqsComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public SqsComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.sqs.AmazonSQS.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.sqs.SqsConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.sqs.SqsOperations.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.sqs.AmazonSQS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.sqs.AmazonSQS.class);
+            case "org.apache.camel.component.aws.sqs.SqsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.sqs.SqsConfiguration.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+            case "org.apache.camel.component.aws.sqs.SqsOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.sqs.SqsOperations.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java b/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
index 5717c34..f06a71c 100644
--- a/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class SWFComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private SWFComponentConfiguration configuration;
 
+    public SWFComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new SWFComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSWFComponent() {
diff --git a/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentConverter.java b/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentConverter.java
new file mode 100644
index 0000000..bcc66e2
--- /dev/null
+++ b/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentConverter.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.swf.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class SWFComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public SWFComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflow.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.swf.SWFConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.DataConverter.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.ActivitySchedulingOptions.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeExecutionOptions.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeRegistrationOptions.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.WorkflowTypeRegistrationOptions.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflow": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflow.class);
+            case "org.apache.camel.component.aws.swf.SWFConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.swf.SWFConfiguration.class);
+            case "com.amazonaws.services.simpleworkflow.flow.DataConverter": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.DataConverter.class);
+            case "com.amazonaws.services.simpleworkflow.flow.ActivitySchedulingOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.ActivitySchedulingOptions.class);
+            case "com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeExecutionOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeExecutionOptions.class);
+            case "com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeRegistrationOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeRegistrationOptions.class);
+            case "com.amazonaws.services.simpleworkflow.flow.WorkflowTypeRegistrationOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.WorkflowTypeRegistrationOptions.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentAutoConfiguration.java b/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentAutoConfiguration.java
index 3e3d654..820baff 100644
--- a/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class TranslateComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private TranslateComponentConfiguration configuration;
 
+    public TranslateComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new TranslateComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureTranslateComponent() {
diff --git a/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentConverter.java b/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentConverter.java
new file mode 100644
index 0000000..ef8583d
--- /dev/null
+++ b/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.translate.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class TranslateComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public TranslateComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.translate.TranslateConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.translate.TranslateOperations.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, com.amazonaws.services.translate.AmazonTranslate.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws.translate.TranslateConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.translate.TranslateConfiguration.class);
+            case "org.apache.camel.component.aws.translate.TranslateOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.translate.TranslateOperations.class);
+            case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+            case "com.amazonaws.services.translate.AmazonTranslate": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.translate.AmazonTranslate.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentAutoConfiguration.java b/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentAutoConfiguration.java
index 4e9bb8b..af8748b 100644
--- a/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Athena2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Athena2ComponentConfiguration configuration;
 
+    public Athena2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Athena2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAthena2Component() {
diff --git a/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentConverter.java b/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentConverter.java
new file mode 100644
index 0000000..e6d7d1f
--- /dev/null
+++ b/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentConverter.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.athena.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Athena2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Athena2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.athena.AthenaClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.athena.Athena2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.athena.model.EncryptionOption.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.athena.Athena2Operations.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.athena.Athena2OutputType.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.athena.AthenaClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.athena.AthenaClient.class);
+            case "org.apache.camel.component.aws2.athena.Athena2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.athena.Athena2Configuration.class);
+            case "software.amazon.awssdk.services.athena.model.EncryptionOption": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.athena.model.EncryptionOption.class);
+            case "org.apache.camel.component.aws2.athena.Athena2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.athena.Athena2Operations.class);
+            case "org.apache.camel.component.aws2.athena.Athena2OutputType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.athena.Athena2OutputType.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentAutoConfiguration.java b/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentAutoConfiguration.java
index 57a6d03..81790fb 100644
--- a/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Cw2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Cw2ComponentConfiguration configuration;
 
+    public Cw2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Cw2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCw2Component() {
diff --git a/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentConverter.java b/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentConverter.java
new file mode 100644
index 0000000..1a41621
--- /dev/null
+++ b/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.cw.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Cw2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Cw2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.cloudwatch.CloudWatchClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.cw.Cw2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, java.time.Instant.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.cloudwatch.CloudWatchClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.cloudwatch.CloudWatchClient.class);
+            case "org.apache.camel.component.aws2.cw.Cw2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.cw.Cw2Configuration.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+            case "java.time.Instant": return camelContext.getRegistry().lookupByNameAndType(ref, java.time.Instant.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentAutoConfiguration.java b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentAutoConfiguration.java
index 2fdb2bd..f5a7c1e 100644
--- a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Ddb2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Ddb2ComponentConfiguration configuration;
 
+    public Ddb2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Ddb2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureDdb2Component() {
diff --git a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentConverter.java b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentConverter.java
new file mode 100644
index 0000000..4cb7b36
--- /dev/null
+++ b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ddb.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Ddb2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Ddb2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.dynamodb.DynamoDbClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ddb.Ddb2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ddb.Ddb2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.dynamodb.DynamoDbClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.dynamodb.DynamoDbClient.class);
+            case "org.apache.camel.component.aws2.ddb.Ddb2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ddb.Ddb2Configuration.class);
+            case "org.apache.camel.component.aws2.ddb.Ddb2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ddb.Ddb2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentAutoConfiguration.java b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentAutoConfiguration.java
index d82aad6..2726008 100644
--- a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Ddb2StreamComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Ddb2StreamComponentConfiguration configuration;
 
+    public Ddb2StreamComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Ddb2StreamComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureDdb2StreamComponent() {
diff --git a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentConverter.java b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentConverter.java
new file mode 100644
index 0000000..8875073
--- /dev/null
+++ b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ddbstream.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Ddb2StreamComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Ddb2StreamComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ddbstream.Ddb2StreamConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ddbstream.SequenceNumberProvider.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient.class);
+            case "org.apache.camel.component.aws2.ddbstream.Ddb2StreamConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ddbstream.Ddb2StreamConfiguration.class);
+            case "software.amazon.awssdk.services.dynamodb.model.ShardIteratorType": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+            case "org.apache.camel.component.aws2.ddbstream.SequenceNumberProvider": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ddbstream.SequenceNumberProvider.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentAutoConfiguration.java b/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentAutoConfiguration.java
index fa5cbf8..0ded8d1 100644
--- a/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AWS2EC2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AWS2EC2ComponentConfiguration configuration;
 
+    public AWS2EC2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AWS2EC2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAWS2EC2Component() {
diff --git a/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentConverter.java b/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentConverter.java
new file mode 100644
index 0000000..ffa9504
--- /dev/null
+++ b/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ec2.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AWS2EC2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AWS2EC2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.ec2.Ec2Client.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ec2.AWS2EC2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ec2.AWS2EC2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.ec2.Ec2Client": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.ec2.Ec2Client.class);
+            case "org.apache.camel.component.aws2.ec2.AWS2EC2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ec2.AWS2EC2Configuration.class);
+            case "org.apache.camel.component.aws2.ec2.AWS2EC2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ec2.AWS2EC2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ecs-starter/src/main/docs/aws2-ecs-starter.adoc b/components-starter/camel-aws2-ecs-starter/src/main/docs/aws2-ecs-starter.adoc
index 7812269..f24c071 100644
--- a/components-starter/camel-aws2-ecs-starter/src/main/docs/aws2-ecs-starter.adoc
+++ b/components-starter/camel-aws2-ecs-starter/src/main/docs/aws2-ecs-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-ecs with Spring Boot make sure to use the following Maven depend
 ----
 
 
-The component supports 15 options, which are listed below.
+The component supports 14 options, which are listed below.
 
 
 
@@ -25,7 +25,6 @@ The component supports 15 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.component.aws2-ecs.access-key* | Amazon AWS Access Key |  | String
-| *camel.component.aws2-ecs.auto-discover-client* | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | Boolean
 | *camel.component.aws2-ecs.autowired-enabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | Boolean
 | *camel.component.aws2-ecs.configuration* | Component configuration. The option is a org.apache.camel.component.aws2.ecs.ECS2Configuration type. |  | ECS2Configuration
 | *camel.component.aws2-ecs.ecs-client* | To use a existing configured AWS ECS as client. The option is a software.amazon.awssdk.services.ecs.EcsClient type. |  | EcsClient
diff --git a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentAutoConfiguration.java b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentAutoConfiguration.java
index 0b6bec9..7e6d239 100644
--- a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ECS2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ECS2ComponentConfiguration configuration;
 
+    public ECS2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new ECS2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureECS2Component() {
diff --git a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConfiguration.java b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConfiguration.java
index 95ae17f..4e45649 100644
--- a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConfiguration.java
+++ b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConfiguration.java
@@ -42,12 +42,6 @@ public class ECS2ComponentConfiguration
      */
     private Boolean enabled;
     /**
-     * Setting the autoDiscoverClient mechanism, if true, the component will
-     * look for a client instance in the registry automatically otherwise it
-     * will skip that checking.
-     */
-    private Boolean autoDiscoverClient = true;
-    /**
      * Component configuration. The option is a
      * org.apache.camel.component.aws2.ecs.ECS2Configuration type.
      */
@@ -116,14 +110,6 @@ public class ECS2ComponentConfiguration
      */
     private String secretKey;
 
-    public Boolean getAutoDiscoverClient() {
-        return autoDiscoverClient;
-    }
-
-    public void setAutoDiscoverClient(Boolean autoDiscoverClient) {
-        this.autoDiscoverClient = autoDiscoverClient;
-    }
-
     public ECS2Configuration getConfiguration() {
         return configuration;
     }
diff --git a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConverter.java b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConverter.java
new file mode 100644
index 0000000..559c81f
--- /dev/null
+++ b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ecs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ECS2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public ECS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ecs.ECS2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.ecs.EcsClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ecs.ECS2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.ecs.ECS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ecs.ECS2Configuration.class);
+            case "software.amazon.awssdk.services.ecs.EcsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.ecs.EcsClient.class);
+            case "org.apache.camel.component.aws2.ecs.ECS2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ecs.ECS2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-eks-starter/src/main/docs/aws2-eks-starter.adoc b/components-starter/camel-aws2-eks-starter/src/main/docs/aws2-eks-starter.adoc
index b42da4f..70e8be4 100644
--- a/components-starter/camel-aws2-eks-starter/src/main/docs/aws2-eks-starter.adoc
+++ b/components-starter/camel-aws2-eks-starter/src/main/docs/aws2-eks-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-eks with Spring Boot make sure to use the following Maven depend
 ----
 
 
-The component supports 15 options, which are listed below.
+The component supports 14 options, which are listed below.
 
 
 
@@ -25,7 +25,6 @@ The component supports 15 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.component.aws2-eks.access-key* | Amazon AWS Access Key |  | String
-| *camel.component.aws2-eks.auto-discover-client* | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | Boolean
 | *camel.component.aws2-eks.autowired-enabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | Boolean
 | *camel.component.aws2-eks.configuration* | Component configuration. The option is a org.apache.camel.component.aws2.eks.EKS2Configuration type. |  | EKS2Configuration
 | *camel.component.aws2-eks.eks-client* | To use a existing configured AWS EKS as client. The option is a software.amazon.awssdk.services.eks.EksClient type. |  | EksClient
diff --git a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentAutoConfiguration.java b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentAutoConfiguration.java
index 8e97a19..c70edd1 100644
--- a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EKS2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private EKS2ComponentConfiguration configuration;
 
+    public EKS2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new EKS2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureEKS2Component() {
diff --git a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConfiguration.java b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConfiguration.java
index fdb4310..07ffec7 100644
--- a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConfiguration.java
+++ b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConfiguration.java
@@ -42,12 +42,6 @@ public class EKS2ComponentConfiguration
      */
     private Boolean enabled;
     /**
-     * Setting the autoDiscoverClient mechanism, if true, the component will
-     * look for a client instance in the registry automatically otherwise it
-     * will skip that checking.
-     */
-    private Boolean autoDiscoverClient = true;
-    /**
      * Component configuration. The option is a
      * org.apache.camel.component.aws2.eks.EKS2Configuration type.
      */
@@ -116,14 +110,6 @@ public class EKS2ComponentConfiguration
      */
     private String secretKey;
 
-    public Boolean getAutoDiscoverClient() {
-        return autoDiscoverClient;
-    }
-
-    public void setAutoDiscoverClient(Boolean autoDiscoverClient) {
-        this.autoDiscoverClient = autoDiscoverClient;
-    }
-
     public EKS2Configuration getConfiguration() {
         return configuration;
     }
diff --git a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConverter.java b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConverter.java
new file mode 100644
index 0000000..c523d64
--- /dev/null
+++ b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.eks.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EKS2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public EKS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.eks.EKS2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.eks.EksClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.eks.EKS2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.eks.EKS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.eks.EKS2Configuration.class);
+            case "software.amazon.awssdk.services.eks.EksClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.eks.EksClient.class);
+            case "org.apache.camel.component.aws2.eks.EKS2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.eks.EKS2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentAutoConfiguration.java b/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentAutoConfiguration.java
index c5a4322..96cbd8f 100644
--- a/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EventbridgeComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private EventbridgeComponentConfiguration configuration;
 
+    public EventbridgeComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new EventbridgeComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureEventbridgeComponent() {
diff --git a/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentConverter.java b/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentConverter.java
new file mode 100644
index 0000000..95fbf26
--- /dev/null
+++ b/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.eventbridge.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EventbridgeComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public EventbridgeComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.eventbridge.EventBridgeClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.eventbridge.EventbridgeOperations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration.class);
+            case "software.amazon.awssdk.services.eventbridge.EventBridgeClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.eventbridge.EventBridgeClient.class);
+            case "org.apache.camel.component.aws2.eventbridge.EventbridgeOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.eventbridge.EventbridgeOperations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentAutoConfiguration.java b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentAutoConfiguration.java
index 1b06a69..ea54f15 100644
--- a/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class IAM2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private IAM2ComponentConfiguration configuration;
 
+    public IAM2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new IAM2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureIAM2Component() {
diff --git a/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConverter.java b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConverter.java
new file mode 100644
index 0000000..7941d3a
--- /dev/null
+++ b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.iam.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class IAM2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public IAM2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.iam.IAM2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.iam.IamClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.iam.IAM2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.iam.IAM2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.iam.IAM2Configuration.class);
+            case "software.amazon.awssdk.services.iam.IamClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.iam.IamClient.class);
+            case "org.apache.camel.component.aws2.iam.IAM2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.iam.IAM2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentAutoConfiguration.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentAutoConfiguration.java
index e62123e..a49964d 100644
--- a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KinesisFirehose2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private KinesisFirehose2ComponentConfiguration configuration;
 
+    public KinesisFirehose2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new KinesisFirehose2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureKinesisFirehose2Component() {
diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentConverter.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentConverter.java
new file mode 100644
index 0000000..8fc1482
--- /dev/null
+++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.firehose.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KinesisFirehose2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public KinesisFirehose2ComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.firehose.FirehoseClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.firehose.KinesisFirehose2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.firehose.FirehoseClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.firehose.FirehoseClient.class);
+            case "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration.class);
+            case "org.apache.camel.component.aws2.firehose.KinesisFirehose2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.firehose.KinesisFirehose2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentAutoConfiguration.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentAutoConfiguration.java
index eb6d7e1..9291acd 100644
--- a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Kinesis2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Kinesis2ComponentConfiguration configuration;
 
+    public Kinesis2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Kinesis2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureKinesis2Component() {
diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java
new file mode 100644
index 0000000..efd9104
--- /dev/null
+++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.kinesis.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Kinesis2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Kinesis2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kinesis.KinesisClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kinesis.Kinesis2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kinesis.model.ShardIteratorType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.kinesis.KinesisClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.kinesis.KinesisClient.class);
+            case "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.kinesis.Kinesis2Configuration.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+            case "software.amazon.awssdk.services.kinesis.model.ShardIteratorType": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.kinesis.model.ShardIteratorType.class);
+            case "org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentAutoConfiguration.java b/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentAutoConfiguration.java
index 14ecee4..d77f7e0 100644
--- a/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KMS2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private KMS2ComponentConfiguration configuration;
 
+    public KMS2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new KMS2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureKMS2Component() {
diff --git a/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentConverter.java b/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentConverter.java
new file mode 100644
index 0000000..2a48395
--- /dev/null
+++ b/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.kms.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KMS2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public KMS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kms.KMS2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kms.KmsClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kms.KMS2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.kms.KMS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.kms.KMS2Configuration.class);
+            case "software.amazon.awssdk.services.kms.KmsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.kms.KmsClient.class);
+            case "org.apache.camel.component.aws2.kms.KMS2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.kms.KMS2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentAutoConfiguration.java b/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentAutoConfiguration.java
index 1af8d08..d620617 100644
--- a/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Lambda2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Lambda2ComponentConfiguration configuration;
 
+    public Lambda2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Lambda2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureLambda2Component() {
diff --git a/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentConverter.java b/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentConverter.java
new file mode 100644
index 0000000..1e50c28
--- /dev/null
+++ b/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.lambda.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Lambda2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Lambda2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.lambda.Lambda2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.lambda.Lambda2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.lambda.LambdaClient.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.lambda.Lambda2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.lambda.Lambda2Configuration.class);
+            case "org.apache.camel.component.aws2.lambda.Lambda2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.lambda.Lambda2Operations.class);
+            case "software.amazon.awssdk.services.lambda.LambdaClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.lambda.LambdaClient.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentAutoConfiguration.java b/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentAutoConfiguration.java
index 4b1322a..de2df5f 100644
--- a/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class MQ2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private MQ2ComponentConfiguration configuration;
 
+    public MQ2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new MQ2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureMQ2Component() {
diff --git a/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentConverter.java b/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentConverter.java
new file mode 100644
index 0000000..9749f40
--- /dev/null
+++ b/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.mq.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class MQ2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public MQ2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.mq.MqClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.mq.MQ2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.mq.MQ2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.mq.MqClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.mq.MqClient.class);
+            case "org.apache.camel.component.aws2.mq.MQ2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.mq.MQ2Configuration.class);
+            case "org.apache.camel.component.aws2.mq.MQ2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.mq.MQ2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentAutoConfiguration.java b/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentAutoConfiguration.java
index b6b8f7e..ad06452 100644
--- a/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class MSK2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private MSK2ComponentConfiguration configuration;
 
+    public MSK2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new MSK2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureMSK2Component() {
diff --git a/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentConverter.java b/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentConverter.java
new file mode 100644
index 0000000..9c82897
--- /dev/null
+++ b/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.msk.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class MSK2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public MSK2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.msk.MSK2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kafka.KafkaClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.msk.MSK2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.msk.MSK2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.msk.MSK2Configuration.class);
+            case "software.amazon.awssdk.services.kafka.KafkaClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.kafka.KafkaClient.class);
+            case "org.apache.camel.component.aws2.msk.MSK2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.msk.MSK2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentAutoConfiguration.java b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentAutoConfiguration.java
index 719b5af..e32067c 100644
--- a/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AWS2S3ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private AWS2S3ComponentConfiguration configuration;
 
+    public AWS2S3ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new AWS2S3ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureAWS2S3Component() {
diff --git a/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConverter.java b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConverter.java
new file mode 100644
index 0000000..5219fc5
--- /dev/null
+++ b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.s3.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AWS2S3ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public AWS2S3ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.s3.S3Client.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.s3.AWS2S3Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.s3.AWS2S3Operations.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.s3.S3Client": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.s3.S3Client.class);
+            case "org.apache.camel.component.aws2.s3.AWS2S3Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.s3.AWS2S3Configuration.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+            case "org.apache.camel.component.aws2.s3.AWS2S3Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.s3.AWS2S3Operations.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentAutoConfiguration.java b/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentAutoConfiguration.java
index 6ed0f1c..af60d1f 100644
--- a/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Ses2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Ses2ComponentConfiguration configuration;
 
+    public Ses2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Ses2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSes2Component() {
diff --git a/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentConverter.java b/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentConverter.java
new file mode 100644
index 0000000..0246737
--- /dev/null
+++ b/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentConverter.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ses.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Ses2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Ses2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.ses.SesClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ses.Ses2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.ses.SesClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.ses.SesClient.class);
+            case "org.apache.camel.component.aws2.ses.Ses2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ses.Ses2Configuration.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentAutoConfiguration.java b/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentAutoConfiguration.java
index 85ce9d4..821cd86 100644
--- a/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Sns2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Sns2ComponentConfiguration configuration;
 
+    public Sns2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Sns2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSns2Component() {
diff --git a/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentConverter.java b/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentConverter.java
new file mode 100644
index 0000000..24b6b05
--- /dev/null
+++ b/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentConverter.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.sns.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Sns2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Sns2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.sns.SnsClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sns.Sns2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.sns.SnsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.sns.SnsClient.class);
+            case "org.apache.camel.component.aws2.sns.Sns2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sns.Sns2Configuration.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentAutoConfiguration.java b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentAutoConfiguration.java
index e704aab..c580765 100644
--- a/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Sqs2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Sqs2ComponentConfiguration configuration;
 
+    public Sqs2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Sqs2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSqs2Component() {
diff --git a/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConverter.java b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConverter.java
new file mode 100644
index 0000000..ea2a70f
--- /dev/null
+++ b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.sqs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Sqs2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Sqs2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.sqs.SqsClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sqs.Sqs2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sqs.Sqs2Operations.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "software.amazon.awssdk.services.sqs.SqsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.sqs.SqsClient.class);
+            case "org.apache.camel.component.aws2.sqs.Sqs2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sqs.Sqs2Configuration.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+            case "org.apache.camel.component.aws2.sqs.Sqs2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sqs.Sqs2Operations.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentAutoConfiguration.java b/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentAutoConfiguration.java
index b7f526d..a50a31f 100644
--- a/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class STS2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private STS2ComponentConfiguration configuration;
 
+    public STS2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new STS2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureSTS2Component() {
diff --git a/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentConverter.java b/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentConverter.java
new file mode 100644
index 0000000..94d20b2
--- /dev/null
+++ b/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.sts.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class STS2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public STS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sts.STS2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sts.STS2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.sts.StsClient.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.sts.STS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sts.STS2Configuration.class);
+            case "org.apache.camel.component.aws2.sts.STS2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sts.STS2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+            case "software.amazon.awssdk.services.sts.StsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.sts.StsClient.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentAutoConfiguration.java b/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentAutoConfiguration.java
index 3608864..827c167 100644
--- a/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Translate2ComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Translate2ComponentConfiguration configuration;
 
+    public Translate2ComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new Translate2ComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureTranslate2Component() {
diff --git a/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentConverter.java b/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentConverter.java
new file mode 100644
index 0000000..2c55bce
--- /dev/null
+++ b/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.translate.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Translate2ComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public Translate2ComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.translate.Translate2Configuration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.translate.Translate2Operations.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+        answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.translate.TranslateClient.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.aws2.translate.Translate2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.translate.Translate2Configuration.class);
+            case "org.apache.camel.component.aws2.translate.Translate2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.translate.Translate2Operations.class);
+            case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+            case "software.amazon.awssdk.services.translate.TranslateClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.translate.TranslateClient.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentAutoConfiguration.java b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentAutoConfiguration.java
index 0caa25f..cb0fb92 100644
--- a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EventHubsComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private EventHubsComponentConfiguration configuration;
 
+    public EventHubsComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new EventHubsComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureEventHubsComponent() {
diff --git a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
new file mode 100644
index 0000000..a5ec597
--- /dev/null
+++ b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.eventhubs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EventHubsComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public EventHubsComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.azure.core.amqp.AmqpRetryOptions.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.core.amqp.AmqpTransportType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.eventhubs.EventHubsConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.storage.common.StorageSharedKeyCredential.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.messaging.eventhubs.CheckpointStore.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.messaging.eventhubs.EventHubProducerAsyncClient.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.azure.core.amqp.AmqpRetryOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.core.amqp.AmqpRetryOptions.class);
+            case "com.azure.core.amqp.AmqpTransportType": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.core.amqp.AmqpTransportType.class);
+            case "org.apache.camel.component.azure.eventhubs.EventHubsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.eventhubs.EventHubsConfiguration.class);
+            case "com.azure.storage.common.StorageSharedKeyCredential": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.common.StorageSharedKeyCredential.class);
+            case "com.azure.messaging.eventhubs.CheckpointStore": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.messaging.eventhubs.CheckpointStore.class);
+            case "com.azure.messaging.eventhubs.EventHubProducerAsyncClient": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.messaging.eventhubs.EventHubProducerAsyncClient.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentAutoConfiguration.java b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentAutoConfiguration.java
index 5570802..7bd2dd6 100644
--- a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BlobServiceComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BlobServiceComponentConfiguration configuration;
 
+    public BlobServiceComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new BlobServiceComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBlobServiceComponent() {
diff --git a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConverter.java b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConverter.java
new file mode 100644
index 0000000..ecb0cc4
--- /dev/null
+++ b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.blob.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BlobServiceComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public BlobServiceComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.microsoft.azure.storage.blob.CloudBlob.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.blob.BlobType.class));
+        answer.add(new ConvertiblePair(String.class, com.microsoft.azure.storage.StorageCredentials.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.blob.BlobServiceOperations.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.blob.BlobServiceConfiguration.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.microsoft.azure.storage.blob.CloudBlob": return camelContext.getRegistry().lookupByNameAndType(ref, com.microsoft.azure.storage.blob.CloudBlob.class);
+            case "org.apache.camel.component.azure.blob.BlobType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.blob.BlobType.class);
+            case "com.microsoft.azure.storage.StorageCredentials": return camelContext.getRegistry().lookupByNameAndType(ref, com.microsoft.azure.storage.StorageCredentials.class);
+            case "org.apache.camel.component.azure.blob.BlobServiceOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.blob.BlobServiceOperations.class);
+            case "org.apache.camel.component.azure.blob.BlobServiceConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.blob.BlobServiceConfiguration.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentAutoConfiguration.java b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentAutoConfiguration.java
index 95fcda0..b4948fb 100644
--- a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class QueueServiceComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private QueueServiceComponentConfiguration configuration;
 
+    public QueueServiceComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new QueueServiceComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureQueueServiceComponent() {
diff --git a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentConverter.java b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentConverter.java
new file mode 100644
index 0000000..eb84b53
--- /dev/null
+++ b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.queue.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class QueueServiceComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public QueueServiceComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.microsoft.azure.storage.queue.CloudQueue.class));
+        answer.add(new ConvertiblePair(String.class, com.microsoft.azure.storage.StorageCredentials.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.queue.QueueServiceOperations.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.queue.QueueServiceConfiguration.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.microsoft.azure.storage.queue.CloudQueue": return camelContext.getRegistry().lookupByNameAndType(ref, com.microsoft.azure.storage.queue.CloudQueue.class);
+            case "com.microsoft.azure.storage.StorageCredentials": return camelContext.getRegistry().lookupByNameAndType(ref, com.microsoft.azure.storage.StorageCredentials.class);
+            case "org.apache.camel.component.azure.queue.QueueServiceOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.queue.QueueServiceOperations.class);
+            case "org.apache.camel.component.azure.queue.QueueServiceConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.queue.QueueServiceConfiguration.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentAutoConfiguration.java b/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentAutoConfiguration.java
index 9f6b2a6..582fed9 100644
--- a/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BlobComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BlobComponentConfiguration configuration;
 
+    public BlobComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new BlobComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBlobComponent() {
diff --git a/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentConverter.java b/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentConverter.java
new file mode 100644
index 0000000..dea8678
--- /dev/null
+++ b/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentConverter.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.storage.blob.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BlobComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public BlobComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.blob.BlobType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.blob.BlobConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.storage.common.StorageSharedKeyCredential.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.storage.blob.BlobServiceClient.class));
+        answer.add(new ConvertiblePair(String.class, java.time.Duration.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.storage.blob.models.BlockListType.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.azure.storage.blob.BlobType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.blob.BlobType.class);
+            case "org.apache.camel.component.azure.storage.blob.BlobConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.blob.BlobConfiguration.class);
+            case "com.azure.storage.common.StorageSharedKeyCredential": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.common.StorageSharedKeyCredential.class);
+            case "com.azure.storage.blob.BlobServiceClient": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.blob.BlobServiceClient.class);
+            case "java.time.Duration": return camelContext.getRegistry().lookupByNameAndType(ref, java.time.Duration.class);
+            case "com.azure.storage.blob.models.BlockListType": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.blob.models.BlockListType.class);
+            case "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentAutoConfiguration.java b/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentAutoConfiguration.java
index 06f87e7..32070f1 100644
--- a/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class QueueComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private QueueComponentConfiguration configuration;
 
+    public QueueComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new QueueComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureQueueComponent() {
diff --git a/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentConverter.java b/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentConverter.java
new file mode 100644
index 0000000..17ced3b
--- /dev/null
+++ b/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.storage.queue.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class QueueComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public QueueComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.queue.QueueConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.storage.queue.QueueServiceClient.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.queue.QueueOperationDefinition.class));
+        answer.add(new ConvertiblePair(String.class, java.time.Duration.class));
+        answer.add(new ConvertiblePair(String.class, com.azure.storage.common.StorageSharedKeyCredential.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.azure.storage.queue.QueueConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.queue.QueueConfiguration.class);
+            case "com.azure.storage.queue.QueueServiceClient": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.queue.QueueServiceClient.class);
+            case "org.apache.camel.component.azure.storage.queue.QueueOperationDefinition": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.queue.QueueOperationDefinition.class);
+            case "java.time.Duration": return camelContext.getRegistry().lookupByNameAndType(ref, java.time.Duration.class);
+            case "com.azure.storage.common.StorageSharedKeyCredential": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.common.StorageSharedKeyCredential.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatAutoConfiguration.java b/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatAutoConfiguration.java
index 4d69564..5e2930c 100644
--- a/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatAutoConfiguration.java
+++ b/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BarcodeDataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BarcodeDataFormatConfiguration configuration;
 
+    public BarcodeDataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureBarcodeDataFormatFactory() {
diff --git a/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatAutoConfiguration.java b/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatAutoConfiguration.java
index 77c38c7..26124fd 100644
--- a/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatAutoConfiguration.java
+++ b/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class Base64DataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private Base64DataFormatConfiguration configuration;
 
+    public Base64DataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureBase64DataFormatFactory() {
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
index df7c333..7a1f4b5 100644
--- a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BeanComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BeanComponentConfiguration configuration;
 
+    public BeanComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new BeanComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBeanComponent() {
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentConverter.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentConverter.java
new file mode 100644
index 0000000..25565e7
--- /dev/null
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.bean.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BeanComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public BeanComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.BeanScope.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.BeanScope": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.BeanScope.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
index 1047e39..3dbc539 100644
--- a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ClassComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ClassComponentConfiguration configuration;
 
+    public ClassComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new ClassComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureClassComponent() {
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentConverter.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentConverter.java
new file mode 100644
index 0000000..b0adeb1
--- /dev/null
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.beanclass.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ClassComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public ClassComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.BeanScope.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.BeanScope": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.BeanScope.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
index 5edbf21..88da996 100644
--- a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BeanLanguageAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BeanLanguageConfiguration configuration;
 
+    public BeanLanguageAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public org.apache.camel.spi.LanguageCustomizer configureBeanLanguage() {
diff --git a/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
index a38f219..2779ae6 100644
--- a/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
+++ b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BeanValidatorComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BeanValidatorComponentConfiguration configuration;
 
+    public BeanValidatorComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new BeanValidatorComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBeanValidatorComponent() {
diff --git a/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentConverter.java b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentConverter.java
new file mode 100644
index 0000000..b5fb9f7
--- /dev/null
+++ b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.bean.validator.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BeanValidatorComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public BeanValidatorComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, javax.validation.ConstraintValidatorFactory.class));
+        answer.add(new ConvertiblePair(String.class, javax.validation.MessageInterpolator.class));
+        answer.add(new ConvertiblePair(String.class, javax.validation.TraversableResolver.class));
+        answer.add(new ConvertiblePair(String.class, javax.validation.ValidationProviderResolver.class));
+        answer.add(new ConvertiblePair(String.class, javax.validation.ValidatorFactory.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "javax.validation.ConstraintValidatorFactory": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.ConstraintValidatorFactory.class);
+            case "javax.validation.MessageInterpolator": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.MessageInterpolator.class);
+            case "javax.validation.TraversableResolver": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.TraversableResolver.class);
+            case "javax.validation.ValidationProviderResolver": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.ValidationProviderResolver.class);
+            case "javax.validation.ValidatorFactory": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.ValidatorFactory.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatAutoConfiguration.java b/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatAutoConfiguration.java
index c81e714..d28f73b 100644
--- a/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatAutoConfiguration.java
+++ b/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BeanIODataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BeanIODataFormatConfiguration configuration;
 
+    public BeanIODataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureBeanIODataFormatFactory() {
diff --git a/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
index 166c271..fc68def 100644
--- a/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
+++ b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BeanstalkComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BeanstalkComponentConfiguration configuration;
 
+    public BeanstalkComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new BeanstalkComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBeanstalkComponent() {
diff --git a/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentConverter.java b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentConverter.java
new file mode 100644
index 0000000..e8ab21b
--- /dev/null
+++ b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentConverter.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.beanstalk.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BeanstalkComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public BeanstalkComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.beanstalk.ConnectionSettingsFactory.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.beanstalk.ConnectionSettingsFactory": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.beanstalk.ConnectionSettingsFactory.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatAutoConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatAutoConfiguration.java
index 3164e95..df9abac 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatAutoConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BindyCsvDataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BindyCsvDataFormatConfiguration configuration;
 
+    public BindyCsvDataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureBindyCsvDataFormatFactory() {
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatAutoConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatAutoConfiguration.java
index aa81cf8..7223cd9 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatAutoConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BindyFixedLengthDataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BindyFixedLengthDataFormatConfiguration configuration;
 
+    public BindyFixedLengthDataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureBindyFixedLengthDataFormatFactory() {
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatAutoConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatAutoConfiguration.java
index 600fb33..3ea122d 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatAutoConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BindyKeyValuePairDataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BindyKeyValuePairDataFormatConfiguration configuration;
 
+    public BindyKeyValuePairDataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureBindyKeyValuePairDataFormatFactory() {
diff --git a/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java b/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
index 505f094..19387b4 100644
--- a/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
+++ b/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BonitaComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BonitaComponentConfiguration configuration;
 
+    public BonitaComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBonitaComponent() {
diff --git a/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
index c0e86db..0f5683a 100644
--- a/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
+++ b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BoxComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BoxComponentConfiguration configuration;
 
+    public BoxComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new BoxComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBoxComponent() {
diff --git a/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentConverter.java b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentConverter.java
new file mode 100644
index 0000000..6045989
--- /dev/null
+++ b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.box.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BoxComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public BoxComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.box.BoxConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.box.sdk.IAccessTokenCache.class));
+        answer.add(new ConvertiblePair(String.class, com.box.sdk.EncryptionAlgorithm.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.box.BoxConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.box.BoxConfiguration.class);
+            case "com.box.sdk.IAccessTokenCache": return camelContext.getRegistry().lookupByNameAndType(ref, com.box.sdk.IAccessTokenCache.class);
+            case "com.box.sdk.EncryptionAlgorithm": return camelContext.getRegistry().lookupByNameAndType(ref, com.box.sdk.EncryptionAlgorithm.class);
+            case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
index 5b70cdb..9ae8b64 100644
--- a/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
+++ b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BraintreeComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BraintreeComponentConfiguration configuration;
 
+    public BraintreeComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new BraintreeComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBraintreeComponent() {
diff --git a/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentConverter.java b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentConverter.java
new file mode 100644
index 0000000..f0d2c97
--- /dev/null
+++ b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentConverter.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.braintree.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BraintreeComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public BraintreeComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.braintree.BraintreeConfiguration.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.braintree.BraintreeConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.braintree.BraintreeConfiguration.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-browse-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java b/components-starter/camel-browse-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
index ef66348c..6971408 100644
--- a/components-starter/camel-browse-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
+++ b/components-starter/camel-browse-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BrowseComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private BrowseComponentConfiguration configuration;
 
+    public BrowseComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureBrowseComponent() {
diff --git a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentAutoConfiguration.java b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentAutoConfiguration.java
index 90960df..7a125e7 100644
--- a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentAutoConfiguration.java
+++ b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CaffeineCacheComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CaffeineCacheComponentConfiguration configuration;
 
+    public CaffeineCacheComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new CaffeineCacheComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCaffeineCacheComponent() {
diff --git a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentConverter.java b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentConverter.java
new file mode 100644
index 0000000..05fba89
--- /dev/null
+++ b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.caffeine.cache.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CaffeineCacheComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public CaffeineCacheComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.CacheLoader.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.caffeine.EvictionType.class));
+        answer.add(new ConvertiblePair(String.class, java.lang.Object.class));
+        answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.RemovalListener.class));
+        answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.stats.StatsCounter.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.caffeine.CaffeineConfiguration.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.github.benmanes.caffeine.cache.CacheLoader": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.CacheLoader.class);
+            case "org.apache.camel.component.caffeine.EvictionType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.caffeine.EvictionType.class);
+            case "java.lang.Object": return camelContext.getRegistry().lookupByNameAndType(ref, java.lang.Object.class);
+            case "com.github.benmanes.caffeine.cache.RemovalListener": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.RemovalListener.class);
+            case "com.github.benmanes.caffeine.cache.stats.StatsCounter": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.stats.StatsCounter.class);
+            case "org.apache.camel.component.caffeine.CaffeineConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.caffeine.CaffeineConfiguration.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentAutoConfiguration.java b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentAutoConfiguration.java
index bfa3c5f..091a70f 100644
--- a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentAutoConfiguration.java
+++ b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CaffeineLoadCacheComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CaffeineLoadCacheComponentConfiguration configuration;
 
+    public CaffeineLoadCacheComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new CaffeineLoadCacheComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCaffeineLoadCacheComponent() {
diff --git a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentConverter.java b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentConverter.java
new file mode 100644
index 0000000..324294f
--- /dev/null
+++ b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.caffeine.load.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CaffeineLoadCacheComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public CaffeineLoadCacheComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.CacheLoader.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.caffeine.EvictionType.class));
+        answer.add(new ConvertiblePair(String.class, java.lang.Object.class));
+        answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.RemovalListener.class));
+        answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.stats.StatsCounter.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.caffeine.CaffeineConfiguration.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "com.github.benmanes.caffeine.cache.CacheLoader": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.CacheLoader.class);
+            case "org.apache.camel.component.caffeine.EvictionType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.caffeine.EvictionType.class);
+            case "java.lang.Object": return camelContext.getRegistry().lookupByNameAndType(ref, java.lang.Object.class);
+            case "com.github.benmanes.caffeine.cache.RemovalListener": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.RemovalListener.class);
+            case "com.github.benmanes.caffeine.cache.stats.StatsCounter": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.stats.StatsCounter.class);
+            case "org.apache.camel.component.caffeine.CaffeineConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.caffeine.CaffeineConfiguration.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java b/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
index d105c3b..2d8f6c2 100644
--- a/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
+++ b/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CassandraComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CassandraComponentConfiguration configuration;
 
+    public CassandraComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCassandraComponent() {
diff --git a/components-starter/camel-cbor-starter/src/main/java/org/apache/camel/component/cbor/springboot/CBORDataFormatAutoConfiguration.java b/components-starter/camel-cbor-starter/src/main/java/org/apache/camel/component/cbor/springboot/CBORDataFormatAutoConfiguration.java
index 1a4b94e..ebacee3 100644
--- a/components-starter/camel-cbor-starter/src/main/java/org/apache/camel/component/cbor/springboot/CBORDataFormatAutoConfiguration.java
+++ b/components-starter/camel-cbor-starter/src/main/java/org/apache/camel/component/cbor/springboot/CBORDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CBORDataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CBORDataFormatConfiguration configuration;
 
+    public CBORDataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureCBORDataFormatFactory() {
diff --git a/components-starter/camel-chatscript-starter/src/main/java/org/apache/camel/component/chatscript/springboot/ChatScriptComponentAutoConfiguration.java b/components-starter/camel-chatscript-starter/src/main/java/org/apache/camel/component/chatscript/springboot/ChatScriptComponentAutoConfiguration.java
index 114e926..cbbc482 100644
--- a/components-starter/camel-chatscript-starter/src/main/java/org/apache/camel/component/chatscript/springboot/ChatScriptComponentAutoConfiguration.java
+++ b/components-starter/camel-chatscript-starter/src/main/java/org/apache/camel/component/chatscript/springboot/ChatScriptComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ChatScriptComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ChatScriptComponentConfiguration configuration;
 
+    public ChatScriptComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureChatScriptComponent() {
diff --git a/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java b/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
index c4a6c2c..935f9c6 100644
--- a/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
+++ b/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ChunkComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ChunkComponentConfiguration configuration;
 
+    public ChunkComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureChunkComponent() {
diff --git a/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java b/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
index 29a42d7..1ce7809 100644
--- a/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
+++ b/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CMComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CMComponentConfiguration configuration;
 
+    public CMComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCMComponent() {
diff --git a/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
index 6c75097..df12db8 100644
--- a/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
+++ b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CMISComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CMISComponentConfiguration configuration;
 
+    public CMISComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new CMISComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCMISComponent() {
diff --git a/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentConverter.java b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentConverter.java
new file mode 100644
index 0000000..9e7c72c
--- /dev/null
+++ b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cmis.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CMISComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public CMISComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.cmis.CMISSessionFacadeFactory.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.cmis.CMISSessionFacadeFactory": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.cmis.CMISSessionFacadeFactory.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
index 6787f1b..55b24b7 100644
--- a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
+++ b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CoAPComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CoAPComponentConfiguration configuration;
 
+    public CoAPComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCoAPComponent() {
diff --git a/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
index e770201..34e6384 100644
--- a/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
+++ b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CometdComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CometdComponentConfiguration configuration;
 
+    public CometdComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new CometdComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCometdComponent() {
diff --git a/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentConverter.java b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentConverter.java
new file mode 100644
index 0000000..0876366
--- /dev/null
+++ b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentConverter.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cometd.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CometdComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public CometdComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.cometd.bayeux.server.SecurityPolicy.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.cometd.bayeux.server.SecurityPolicy": return camelContext.getRegistry().lookupByNameAndType(ref, org.cometd.bayeux.server.SecurityPolicy.class);
+            case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
index f4a89ae..2548afb 100644
--- a/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
+++ b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ConsulComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ConsulComponentConfiguration configuration;
 
+    public ConsulComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new ConsulComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureConsulComponent() {
diff --git a/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentConverter.java b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentConverter.java
new file mode 100644
index 0000000..7fac4de
--- /dev/null
+++ b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentConverter.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.consul.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ConsulComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public ConsulComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, java.time.Duration.class));
+        answer.add(new ConvertiblePair(String.class, com.orbitz.consul.Consul.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.consul.ConsulConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, com.orbitz.consul.option.ConsistencyMode.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+        answer.add(new ConvertiblePair(String.class, java.math.BigInteger.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "java.time.Duration": return camelContext.getRegistry().lookupByNameAndType(ref, java.time.Duration.class);
+            case "com.orbitz.consul.Consul": return camelContext.getRegistry().lookupByNameAndType(ref, com.orbitz.consul.Consul.class);
+            case "org.apache.camel.component.consul.ConsulConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.consul.ConsulConfiguration.class);
+            case "com.orbitz.consul.option.ConsistencyMode": return camelContext.getRegistry().lookupByNameAndType(ref, com.orbitz.consul.option.ConsistencyMode.class);
+            case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+            case "java.math.BigInteger": return camelContext.getRegistry().lookupByNameAndType(ref, java.math.BigInteger.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-controlbus-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java b/components-starter/camel-controlbus-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
index 28866aa..4261684 100644
--- a/components-starter/camel-controlbus-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
+++ b/components-starter/camel-controlbus-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ControlBusComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ControlBusComponentConfiguration configuration;
 
+    public ControlBusComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureControlBusComponent() {
diff --git a/components-starter/camel-corda-starter/pom.xml b/components-starter/camel-corda-starter/pom.xml
index 252daab..5ad677a 100644
--- a/components-starter/camel-corda-starter/pom.xml
+++ b/components-starter/camel-corda-starter/pom.xml
@@ -41,14 +41,6 @@
       <!--START OF GENERATED CODE-->
       <exclusions>
         <exclusion>
-          <groupId>ch.qos.logback</groupId>
-          <artifactId>logback-classic</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>ch.qos.logback</groupId>
-          <artifactId>logback-core</artifactId>
-        </exclusion>
-        <exclusion>
           <groupId>org.apache.logging.log4j</groupId>
           <artifactId>log4j-core</artifactId>
         </exclusion>
diff --git a/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentAutoConfiguration.java b/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentAutoConfiguration.java
index 2fe16e8..66558b6 100644
--- a/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentAutoConfiguration.java
+++ b/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CordaComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CordaComponentConfiguration configuration;
 
+    public CordaComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new CordaComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCordaComponent() {
diff --git a/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentConverter.java b/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentConverter.java
new file mode 100644
index 0000000..20746b4
--- /dev/null
+++ b/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.corda.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CordaComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public CordaComponentConverter(org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.corda.CordaConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, net.corda.core.node.services.vault.PageSpecification.class));
+        answer.add(new ConvertiblePair(String.class, net.corda.core.node.services.vault.Sort.class));
+        answer.add(new ConvertiblePair(String.class, net.corda.core.node.services.vault.QueryCriteria.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.corda.CordaConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.corda.CordaConfiguration.class);
+            case "net.corda.core.node.services.vault.PageSpecification": return camelContext.getRegistry().lookupByNameAndType(ref, net.corda.core.node.services.vault.PageSpecification.class);
+            case "net.corda.core.node.services.vault.Sort": return camelContext.getRegistry().lookupByNameAndType(ref, net.corda.core.node.services.vault.Sort.class);
+            case "net.corda.core.node.services.vault.QueryCriteria": return camelContext.getRegistry().lookupByNameAndType(ref, net.corda.core.node.services.vault.QueryCriteria.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
index c2bd171..e75d41d 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ConstantLanguageAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ConstantLanguageConfiguration configuration;
 
+    public ConstantLanguageAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public org.apache.camel.spi.LanguageCustomizer configureConstantLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
index e060d69..c706e67 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class HeaderLanguageAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private HeaderLanguageConfiguration configuration;
 
+    public HeaderLanguageAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public org.apache.camel.spi.LanguageCustomizer configureHeaderLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
index 1c29a38..9a68d12 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ExchangePropertyLanguageAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private ExchangePropertyLanguageConfiguration configuration;
 
+    public ExchangePropertyLanguageAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public org.apache.camel.spi.LanguageCustomizer configureExchangePropertyLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
index 82304b3..519d93a 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class RefLanguageAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private RefLanguageConfiguration configuration;
 
+    public RefLanguageAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public org.apache.camel.spi.LanguageCustomizer configureRefLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
index fa4e22d..2190032 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class FileLanguageAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private FileLanguageConfiguration configuration;
 
+    public FileLanguageAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public org.apache.camel.spi.LanguageCustomizer configureFileLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
index ffc3f50..fc60320 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class SimpleLanguageAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private SimpleLanguageConfiguration configuration;
 
+    public SimpleLanguageAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public org.apache.camel.spi.LanguageCustomizer configureSimpleLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
index 1b11182..529d676 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class TokenizeLanguageAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private TokenizeLanguageConfiguration configuration;
 
+    public TokenizeLanguageAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public org.apache.camel.spi.LanguageCustomizer configureTokenizeLanguage() {
diff --git a/components-starter/camel-couchbase-starter/src/main/java/org/apache/camel/component/couchbase/springboot/CouchbaseComponentAutoConfiguration.java b/components-starter/camel-couchbase-starter/src/main/java/org/apache/camel/component/couchbase/springboot/CouchbaseComponentAutoConfiguration.java
index 09e162f..0bad259 100644
--- a/components-starter/camel-couchbase-starter/src/main/java/org/apache/camel/component/couchbase/springboot/CouchbaseComponentAutoConfiguration.java
+++ b/components-starter/camel-couchbase-starter/src/main/java/org/apache/camel/component/couchbase/springboot/CouchbaseComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CouchbaseComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CouchbaseComponentConfiguration configuration;
 
+    public CouchbaseComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCouchbaseComponent() {
diff --git a/components-starter/camel-couchdb-starter/src/main/java/org/apache/camel/component/couchdb/springboot/CouchDbComponentAutoConfiguration.java b/components-starter/camel-couchdb-starter/src/main/java/org/apache/camel/component/couchdb/springboot/CouchDbComponentAutoConfiguration.java
index 9e706a9..69bd825 100644
--- a/components-starter/camel-couchdb-starter/src/main/java/org/apache/camel/component/couchdb/springboot/CouchDbComponentAutoConfiguration.java
+++ b/components-starter/camel-couchdb-starter/src/main/java/org/apache/camel/component/couchdb/springboot/CouchDbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CouchDbComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CouchDbComponentConfiguration configuration;
 
+    public CouchDbComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCouchDbComponent() {
diff --git a/components-starter/camel-cron-starter/src/main/java/org/apache/camel/component/cron/springboot/CronComponentAutoConfiguration.java b/components-starter/camel-cron-starter/src/main/java/org/apache/camel/component/cron/springboot/CronComponentAutoConfiguration.java
index dfc6ed1..11454ac 100644
--- a/components-starter/camel-cron-starter/src/main/java/org/apache/camel/component/cron/springboot/CronComponentAutoConfiguration.java
+++ b/components-starter/camel-cron-starter/src/main/java/org/apache/camel/component/cron/springboot/CronComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CronComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CronComponentConfiguration configuration;
 
+    public CronComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCronComponent() {
diff --git a/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentAutoConfiguration.java b/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentAutoConfiguration.java
index c1fd161..0a36950 100644
--- a/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentAutoConfiguration.java
+++ b/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CryptoCmsComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CryptoCmsComponentConfiguration configuration;
 
+    public CryptoCmsComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new CryptoCmsComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureCryptoCmsComponent() {
diff --git a/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentConverter.java b/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentConverter.java
new file mode 100644
index 0000000..68c66d9
--- /dev/null
+++ b/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentConverter.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.crypto.cms.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CryptoCmsComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public CryptoCmsComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.crypto.cms.crypt.EnvelopedDataDecryptorConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.crypto.cms.sig.SignedDataVerifierConfiguration.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.camel.component.crypto.cms.crypt.EnvelopedDataDecryptorConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.crypto.cms.crypt.EnvelopedDataDecryptorConfiguration.class);
+            case "org.apache.camel.component.crypto.cms.sig.SignedDataVerifierConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.crypto.cms.sig.SignedDataVerifierConfiguration.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentAutoConfiguration.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentAutoConfiguration.java
index 41c5dd4..3c280c3 100644
--- a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentAutoConfiguration.java
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class DigitalSignatureComponentAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private DigitalSignatureComponentConfiguration configuration;
 
+    public DigitalSignatureComponentAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+        ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+        acs.addConverter(new DigitalSignatureComponentConverter(camelContext));
+    }
+
     @Lazy
     @Bean
     public ComponentCustomizer configureDigitalSignatureComponent() {
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentConverter.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentConverter.java
new file mode 100644
index 0000000..3e5c306
--- /dev/null
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentConverter.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.crypto.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class DigitalSignatureComponentConverter
+        implements
+            org.springframework.core.convert.converter.GenericConverter {
+
+    private final CamelContext camelContext;
+
+    public DigitalSignatureComponentConverter(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, java.security.KeyStore.class));
+        answer.add(new ConvertiblePair(String.class, java.security.PrivateKey.class));
+        answer.add(new ConvertiblePair(String.class, java.security.cert.Certificate.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.component.crypto.DigitalSignatureConfiguration.class));
+        answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.KeyStoreParameters.class));
+        answer.add(new ConvertiblePair(String.class, java.security.PublicKey.class));
+        answer.add(new ConvertiblePair(String.class, java.security.SecureRandom.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "java.security.KeyStore": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.KeyStore.class);
+            case "java.security.PrivateKey": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.PrivateKey.class);
+            case "java.security.cert.Certificate": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.cert.Certificate.class);
+            case "org.apache.camel.component.crypto.DigitalSignatureConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.crypto.DigitalSignatureConfiguration.class);
+            case "org.apache.camel.support.jsse.KeyStoreParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.KeyStoreParameters.class);
+            case "java.security.PublicKey": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.PublicKey.class);
+            case "java.security.SecureRandom": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.SecureRandom.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java
index edb2529..0ef537b 100644
--- a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CryptoDataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private CryptoDataFormatConfiguration configuration;
 
+    public CryptoDataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configureCryptoDataFormatFactory() {
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
index 58ddad9..a1101b7 100644
--- a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class PGPDataFormatAutoConfiguration {
 
     @Autowired
     private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
+    private final CamelContext camelContext;
     @Autowired
     private PGPDataFormatConfiguration configuration;
 
+    public PGPDataFormatAutoConfiguration(
+            org.apache.camel.CamelContext camelContext) {
+        this.camelContext = camelContext;
+    }
+
     @Lazy
     @Bean
     public DataFormatCustomizer configurePGPDataFormatFactory() {
... 20000 lines suppressed ...