Chapter 14. Developing Quarkus Applications Using Spring APIs

Up to this point, you’ve seen that every example was developed using CDI annotations such as @Inject or @Produces, JAX-RS annotations, or Java EE Security annotations. But Quarkus also offers a compatibility layer for some of the most-used Spring libraries, so you can use all your knowledge about Spring Framework to develop Quarkus applications.

This chapter will include recipes for the following:

  • Spring Dependency Injection

  • Spring REST Web

  • Spring Data JPA

  • Spring Security

  • Spring Boot Configuration

14.1 Using Spring Dependency Injection


You want to use the Spring Dependency Injection (DI) API to develop with Quarkus.


Quarkus offers an API compatibility layer (using an extension) to use Spring DI annotations.

Although we encourage you to use CDI annotations, you are free to use the Spring annotations as well because the final application will behave in exactly the same way.

A greeting service is developed, as it was at the beginning of the book. If you are familiar with the Spring Framework, a lot of things will look familiar to you.

To add the Spring DI extension, run the following command:

./mvnw quarkus:add-extension -Dextensions="spring-di"

Or, you can create a project with the Spring DI extension by running the following:

mvn io.quarkus:quarkus-maven-plugin:1.4.1.Final:create \
    -DprojectGroupId=org.acme.quickstart \
    -DprojectArtifactId=spring-di-quickstart \
 -DclassName="org.acme.quickstart.GreeterResource" ...

Get Quarkus Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.