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
Problem
You want to use the Spring Dependency Injection (DI) API to develop with Quarkus.
Solution
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 the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.