Apache Camel is designed to work first class with Spring in a number of ways, such as:
Camel runs on Spring Boot with the Camel Spring Boot project
Camel works with Spring XML files (classic Spring XML)
Camel works with Spring dependency injection
Camel works with Spring configuration and property placeholders
Camel works with Spring transactions
Camel works with Spring testing
Using Camel with Spring XML files, is a classic way, of using XML DSL with Camel. Camel has historically been using Spring XML for a long time. The Spring framework started with XML files as a popular and common configuration for building Spring applications.
To use Camel with Spring XML files see the Spring XML documentation.
Spring dependency injection is integrated first-class when using Spring and Spring together.
For example when using Camel on Spring Boot, then you can use any kind of Spring dependency and be able to inject Camel resources such as 'CamelContext', Endpoint and many more.
See Using Property Placeholder documentation.
See Transactional Client EIP.
See camel-test-spring-junit5 documentation.