:star: Codebase for various tutorials  about Java, Spring Boot, AWS, Kotlin, and Testing
# Hands-On Code Examples for Tutorials on [rieckpil.de](https://rieckpil.de/)

[![](https://github.com/rieckpil/blog-tutorials/workflows/Build%20Java/badge.svg)](https://github.com/rieckpil/blog-tutorials/actions)

If you find an issue or bug within the provided code examples, feel free to open an [issue](https://github.com/rieckpil/blog-tutorials/issues), and I will take a look.

## Cheat Sheets

* [Testing Java Applications Cheat Sheet](https://rieckpil.de/testing-java-applications-cheat-sheet/)
* [Java EE & Jakarta EE Application Server Cheat Sheet](https://rieckpil.de/cheatsheet-java-jakarta-ee-application-servers/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/application-server-cheatsheet))
* [Spring Web MVC Cheat Sheet](https://rieckpil.de/spring-web-mvc-cheat-sheet/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/))

## Articles about Testing

* [Parallelizing Only Java Unit Tests with JUnit 5 and Maven](https://rieckpil.de/parallelize-only-java-unit-tests-with-junit-5-and-maven/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/maven-junit-paralellize-tests))
* [Test Thymeleaf Controller Endpoints with Spring Boot and MockMvc](https://rieckpil.de/test-thymeleaf-controller-endpoints-with-spring-boot-and-mockmvc/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-thymeleaf-testing))
* [Spring Boot Testing: MockMvc vs. WebTestClient vs. TestRestTemplate](https://rieckpil.de/spring-boot-testing-mockmvc-vs-webtestclient-vs-testresttemplate/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-test-mockmvc-webtestclient-testresttemplate))
* [Amazon SQS Listener Testing with @SqsTest (Spring Cloud AWS)](https://rieckpil.de/amazon-sqs-listener-testing-with-sqstest-spring-cloud-aws/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-cloud-aws-sqs-testing))
* [Spring Boot Test Spring Web MVC HandlerInterceptor](https://rieckpil.de/spring-boot-test-spring-web-mvc-handlerinterceptor/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-web-mvc-testing))
* [LaunchDarkly Java Testing and Local Development Hints](https://rieckpil.de/launchdarkly-java-testing-and-local-development-hints/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/launchdarkly-java-development-testing-hints))
* [What the Heck Is the SpringExtension Used For?](https://rieckpil.de/what-the-heck-is-the-springextension-used-for/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-testing-tips-and-tricks))
* [Maven Setup For Testing Java Applications](https://rieckpil.de/maven-setup-for-testing-java-applications/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/testing-java-applications-with-maven))
* [Creating Deep Stubs With Mockito to Chain Method Stubbing](https://rieckpil.de/creating-deep-stubs-with-mockito-to-chain-method-stubbing/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/mockito-tips-and-tricks))
* [Spring Boot Unit and Integration Testing Overview](https://rieckpil.de/spring-boot-unit-and-integration-testing-overview/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-testing-tips-and-tricks))
* [Initialization Strategies With Testcontainers For Integration Tests](https://rieckpil.de/initialization-strategies-with-testcontainers-for-integration-tests/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/testcontainers-youtube-series))
* [Record Spring Events When Testing Spring Boot Applications](https://rieckpil.de/record-spring-events-when-testing-spring-boot-applications/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-test-spring-events))
* [Testing Spring Boot Applications With REST Assured](https://rieckpil.de/testing-spring-boot-applications-with-rest-assured/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-rest-assured))
* [How to Test Java HTTP Client Usages (e.g OkHttp, Apache HttpClient)](https://rieckpil.de/how-to-test-java-http-client-usages-e-g-okhttp-apache-httpclient/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/test-java-http-clients))
* [Spring Boot Test Slices Overview and Usage](https://rieckpil.de/spring-boot-test-slices-overview-and-usage/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-test-slice-annotations))
* [Guide to Testing Spring Boot applications with MockMvc](https://rieckpil.de/guide-to-testing-spring-boot-applications-with-mockmvc/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/testing-spring-boot-applications-with-mockmvc))
* [MongoDB Testcontainers Setup for @DataMongoTest](https://rieckpil.de/mongodb-testcontainers-setup-for-datamongotest/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-data-mongo-test-testcontainers))
* [Mocking Statics Methods with Mockito (Kotlin & Java)](https://rieckpil.de/mocking-static-methods-with-mockito-java-kotlin/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/mockito-tips-and-tricks))
* [Mock Java Constructors And Their Object Creation With Mockito](https://rieckpil.de/mock-java-constructors-and-their-object-creation-with-mockito/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/mockito-tips-and-tricks))
* [Write Concise Web Tests With Selenide for Java Projects](https://rieckpil.de/write-concise-web-tests-with-selenide-for-java-projects/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/write-concise-web-tests-with-selenide))
* [Test Your Spring MVC Controller with the WebTestClient and MockMvc](https://rieckpil.de/test-your-spring-mvc-controller-with-webtestclient-against-mockmvc/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-mockmvc-with-webtestclient))
* [Test Your Spring Boot JPA Persistence Layer With @DataJpaTest](https://rieckpil.de/test-your-spring-boot-jpa-persistence-layer-with-datajpatest/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-datajpatest))
* [Override Spring Boot Configuration Properties For Tests](https://rieckpil.de/override-spring-boot-configuration-properties-for-tests/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-override-test-properties))
* [Use GreenMail For Spring Mail (JavaMailSender) JUnit 5 Integration Tests](https://rieckpil.de/use-greenmail-for-spring-mail-javamailsender-junit-5-integration-tests/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-test-mail-sending))
* [Write Spring Boot integration tests with Testcontainers (JUnit 4 and 5)](https://rieckpil.de/howto-write-spring-boot-integration-tests-with-a-real-database/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-integration-tests-testcontainers))
* [Reuse containers with Testcontainers for fast integration tests](https://rieckpil.de/reuse-containers-with-testcontainers-for-fast-integration-tests/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/testcontainers-reuse-existing-containers))
* [Test Spring WebClient with MockWebServer from OkHttp](https://rieckpil.de/test-spring-webclient-with-mockwebserver-from-okhttp/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-web-client-testing-with-mockwebserver))
* [Test Spring applications using AWS with Testcontainers and LocalStack](https://rieckpil.de/test-spring-applications-using-aws-with-testcontainers-and-localstack/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-aws-integration-tests))
* [Write integration tests for your Spring WebSocket endpoints](https://rieckpil.de/write-integration-tests-for-your-spring-websocket-endpoints/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-websocket-integration-tests))
* [Improve build times with Context Caching from Spring Test](https://rieckpil.de/improve-build-times-with-context-caching-from-spring-test/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/))
* [Testing Spring Boot Applications with Kotlin and Testcontainers](https://rieckpil.de/testing-spring-boot-applications-with-kotlin-and-testcontainers/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-kotlin-testcontainers))
* [Write JPA integration tests with Java EE](https://rieckpil.de/howto-jpa-integration-tests-with-java-ee/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/jpa-integration-tests-java-ee))
* [Simple load-testing with Apache Benchmark](https://rieckpil.de/howto-simple-load-testing-with-apache-benchmark/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/load-testing-your-application))
* [Java Benchmarking with JMH (Java Microbenchmark Harness)](https://rieckpil.de/howto-java-benchmarking-with-jmh-java-microbenchmark-harness/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/java-benchmarking-with-jmh))
* [Consumer-Driven Contracts with Spring Cloud Contract](https://rieckpil.de/howto-consumer-driven-contracts-with-spring-cloud-contract/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/consumer-driven-contracts-with-spring-cloud-contract))
* [Jakarta EE integration tests with MicroShed Testing](https://rieckpil.de/jakarta-ee-integration-tests-with-microshed-testing/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/review-microshed-testing))
* [Spring Boot Integration Tests with WireMock and JUnit 5](https://rieckpil.de/spring-boot-integration-tests-with-wiremock-and-junit-5/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-integration-tests-wiremock))
* [Spring WebTestClient for efficient testing of your REST API](https://rieckpil.de/spring-webtestclient-for-efficient-testing-of-your-rest-api/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-web-test-client))
* [Spring Boot Functional Tests with Selenium and Testcontainers](https://rieckpil.de/spring-boot-functional-tests-with-selenium-and-testcontainers/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-selenium-integration-tests))
* [Testing your Spring RestTemplate with @RestClientTest](https://rieckpil.de/testing-your-spring-resttemplate-with-restclienttest/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/testing-spring-rest-template))
* [Five JUnit 5 features you might not know yet](https://rieckpil.de/five-junit-5-features-you-might-not-know-yet/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/five-unknown-junit-5-features))
* [Testing your JSON serialization with @JsonTest](https://rieckpil.de/testing-your-json-serialization-with-jsontest) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/testing-json-serialization-spring))

## Articles about Spring Boot

* [Lock @Scheduled Tasks With ShedLock And Spring Boot](https://rieckpil.de/lock-scheduled-tasks-with-shedlock-and-spring-boot/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-shedlock))
* [Best Practices Flyway and Hibernate with Spring Boot](https://rieckpil.de/howto-best-practices-for-flyway-and-hibernate-with-spring-boot/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-hibernate-flyway-best-practices))
* [Up- and download files with React and Spring Boot](https://rieckpil.de/howto-up-and-download-files-with-react-and-spring-boot/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-uploading-and-downloading-files-with-react))
* [Expose git information with Spring Boot’s Actuator](https://rieckpil.de/howto-expose-git-information-with-spring-boots-actuator/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/expose-git-information-actuator))
* [Lazy Loading of JPA attributes with Hibernate](https://rieckpil.de/how-to-lazy-loading-of-jpa-attributes-with-hibernate/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/lazy-loading-of-jpa-attributes-with-hibernate))
* [Send E-Mails with SendGrid and Spring Boot](https://rieckpil.de/howto-send-e-mails-with-sendgrid-and-spring-boot/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/send-emails-with-sendgrid-and-spring-boot))
* [Dynamic SQL Querying & Pagination with Querydsl and Spring Data JPA](https://rieckpil.de/howto-dynamic-sql-querying-pagination-with-querydsl-and-spring-data-jpa) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/dynamic-sql-querying-with-pagination))
* [Remote Debug Spring Boot applications (IntelliJ IDEA + Eclipse)](https://rieckpil.de/howto-remote-debug-spring-boot-applications-intellij-idea-eclipse/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/remote-debugging-spring-boot-application))
* [Use Spring’s WebClient for RESTful communication](https://rieckpil.de/howto-use-springs-webclient-for-restful-communication/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-web-client-demo))
* [Generate random data in Java using Java Faker](https://rieckpil.de/howto-generate-random-data-in-java-using-java-faker/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/random-data-in-java-using-java-faker))
* [Feature Toggles for Spring Boot applications with Togglz](https://rieckpil.de/howto-feature-toggles-for-spring-boot-applications-with-togglz/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-feature-toggles-with-togglz))
* [Spring WebClient OAuth2 Integration for Spring WebFlux](https://rieckpil.de/spring-webclient-oauth2-integration-using-github-as-an-example/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-web-client-oauth2-reactive-stack))
* [Spring WebClient OAuth2 Integration for Spring Web (Servlet)](https://rieckpil.de/spring-webclient-oauth2-integration-for-spring-web-servlet/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-web-client-oauth2-servlet-stack))
* [Expose Metrics of Spring WebClient using Spring Boot Actuator](https://rieckpil.de/expose-metrics-of-spring-webclient-using-spring-boot-actuator) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-web-client-expose-metrics))
* [Spring WebClient exchange vs. retireve a comparison](https://rieckpil.de/spring-webclient-exchange-vs-retrieve-a-comparison/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-web-client-exchange-retrieve))
* [Customize Spring WebClient with WebClientCustomizer](https://rieckpil.de/customize-spring-webclient-with-webclientcustomizer/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-web-client-customizing))

## Articles about AWS

* [AWS Lambda with Kotlin and Spring Cloud Function](https://rieckpil.de/aws-lambda-with-kotlin-and-spring-cloud-function/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/serverless-java-aws-examples/spring-cloud-function-kotlin-aws))
* [OIDC Logout With AWS Cognito and Spring Security](https://rieckpil.de/oidc-logout-with-aws-cognito-and-spring-security/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-security-aws-cognito-thymeleaf))
* [Java AWS Lambda Container Image Support (Complete Guide)](https://rieckpil.de/java-aws-lambda-container-image-support-complete-guide/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/serverless-java-aws-examples/java-aws-lambda-custom-image))
* [Resolving Spring Boot properties using the AWS Parameter Store (SSM)](https://rieckpil.de/resolving-spring-boot-properties-using-the-aws-parameter-store-ssm/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-aws-ssm-parameter-resolving))
* [Java AWS Lambda with Serverless and Maven - Thumbnail Generator](http://rieckpil.de/aws-lambda-with-serverless-java-and-maven-thumbnail-generator) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/serverless-java-aws-examples/thumbnail-generator))
* [Java AWS Lambda with Spring Cloud Function](https://rieckpil.de/java-aws-lambda-with-spring-cloud-function/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/serverless-java-aws-examples/spring-cloud-function-aws))
* [Thymeleaf OAuth2 Login with Spring Security and AWS Cognito](https://rieckpil.de/thymeleaf-oauth2-login-with-spring-security-and-aws-cognito/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-security-aws-cognito-thymeleaf))

## Articles about Kotlin

* [Create Spring Boot applications with Maven and Kotlin](https://rieckpil.de/create-spring-boot-applications-with-maven-and-kotlin/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-with-kotlin))
* [Write Java EE applications with Kotlin](https://rieckpil.de/howto-write-java-ee-applications-with-kotlin/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/java-ee-with-kotlin))
* [Writing JavaScript code with Kotlin using Gradle](https://rieckpil.de/writing-javascript-code-with-kotlin-using-gradle/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/kotlin-javascript-transpiling-gradle))


## Articles about Java EE/Jakarta EE/MicroProfile

* [Avoid repeating attributes in JPA entities](https://rieckpil.de/howto-avoid-repeating-attributes-in-jpa-entities/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/avoid-repeating-attributes-in-jpa-entities))
* [Deploy a Spring Boot Uber-Jar application within Open Liberty](https://rieckpil.de/howto-run-spring-boot-uber-jar-application-within-open-liberty/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/spring-boot-with-open-liberty/))
* [Simple CRUD table with JSF and PrimeFaces](https://rieckpil.de/howto-simple-crud-table-with-jsf-2-3-and-primefaces/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/simple-crud-table-with-jsf-and-primefaces))
* [Simple JSF 2.3 Login with Java EE 8 Security API](https://rieckpil.de/howto-simple-form-based-authentication-for-jsf-2-3-with-java-ee-8-security-api/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/jsf-simple-login-with-java-ee-security-api))
* [Simple JMS application with the embedded messaging engine in Open Liberty](https://rieckpil.de/howto-simple-jms-application-with-the-embedded-messaging-engine-in-open-liberty/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/embedded-messaging-engine-open-liberty))
* [JAX-RS user-based API rate-limiting with JSR-375](https://rieckpil.de/howto-jax-rs-user-based-rate-limiting-with-jsr-375/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/jax-rs-api-rate-limiting-with-jsr-375))
* [Generate documents from Word templates with Docx4j on Wildfly 14](https://rieckpil.de/howto-generate-documents-from-word-templates-with-docx4j-on-wildfly-14/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/generate-documents-from-word-templates-with-docx4j-on-wildfly14))
* [MicroProfile JWT Authentication with Keycloak and React](https://rieckpil.de/howto-microprofile-jwt-authentication-with-keycloak-and-react/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/microprofile-jwt-keycloak-auth))
* [Generate PDFs (Apache PDFBox) including Charts (XChart) with Java EE](https://rieckpil.de/howto-generate-pdfs-apache-pdfbox-including-charts-xchart-with-java-ee/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/charts-in-pdf-java-ee))
* [Up- and downloading files with Java EE and Web Components](https://rieckpil.de/howto-up-and-download-files-with-java-ee-and-web-components/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/java-ee-uploading-and-downloading-files-with-web-components))
* [RESTEasy (WildFly) file up- and downloading](https://rieckpil.de/howto-resteasy-wildfly-jax-rs-2-1-file-up-and-downloading/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/rest-easy-file-uploading-and-downloading))
* [Messaging with JMS using Payara with embedded OpenMQ broker](https://rieckpil.de/howto-messaging-with-jms-using-payara-with-embedded-openmq-broker/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/messaging-with-jms-using-payara))
* [Nice-looking JSF 2.3 apps with PrimeFaces 7.0](https://rieckpil.de/howto-create-nice-looking-jsf-2-3-applications-with-primefaces-7-0) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/nice-looking-jsf-apps-with-prime-faces-7))
* [Send emails with Java EE using Payara](https://rieckpil.de/howto-send-emails-with-java-ee-using-payara) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/java-ee-sending-mails))
* [Deploy Java EE applications to Kubernetes](https://rieckpil.de/howto-deploy-java-ee-applications-to-kubernetes) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/java-ee-kubernetes-deployment))
* [MicroProfile Rest Client for RESTful communication](https://rieckpil.de/howto-microprofile-rest-client-for-restful-communication/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/microprofile-rest-client-for-restful-communication))
* [Intercept method calls using CDI interceptors](https://rieckpil.de/howto-intercept-method-calls-using-cdi-interceptors/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/intercept-methods-with-cdi-interceptors))
* [Bootstrap your first Jakarta EE 8 application](https://rieckpil.de/howto-bootstrap-your-first-jakarta-ee-8-application/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/bootstrap-jakarta-ee-8-application))
* [Jakarta EE and MicroProfile applications with React and PostgreSQL](https://rieckpil.de/jakarta-ee-and-microprofile-applications-with-react-and-postgresql) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/guide-to-jakarta-ee-with-react-and-postgresql))
* [Create real-time applications with Jakarta EE WebSocket](https://rieckpil.de/create-real-time-applications-with-jakarta-ee-websocket/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/websockets-with-jakarta-ee))
* [Jakarta EE & React file up- and download using Java 11 and TypeScript](https://rieckpil.de/jakarta-ee-react-file-up-and-download-using-java-11-and-typescript) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/jakarta-ee-react-file-handling))

## Miscellaneous

* [Automatic Java Code Migration with OpenRewrite (Mockito Example)](https://rieckpil.de/automatic-java-code-migration-with-openrewrite-mockito-example) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/open-rewrite-example))
* [Simple database documentation with SchemaSpy](https://rieckpil.de/howto-simple-database-documentation-with-schemaspy/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/simple-database-documentation-with-schema-spy))
* [Preview PDF files with React](https://rieckpil.de/howto-pdf-preview-with-react/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/pdf-preview-react))
* [Writing PostgreSQL functions with Java using PL/Java](https://rieckpil.de/howto-writing-postgresql-functions-with-java-using-pl-java/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/running-java-within-postgres))
* [Deploy a React application to Kuberntes](https://dev.to/rieckpil/deploy-a-react-application-to-kubernetes-in-5-easy-steps-516j) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/react-app-kubernetes))
* [Create your own Maven Archetype in 5 simple steps](https://rieckpil.de/create-your-own-maven-archetype-in-5-simple-steps/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/custom-maven-archetype))
* [GitHub Actions for Java - automate your Maven workflows](https://rieckpil.de/github-actions-for-java-automate-your-maven-workflows/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/github-actions-java-maven))

## WHATIS? Articles

* [JavaServer Faces. An introduction to JSF 2.3](https://rieckpil.de/whatis-java-server-faces-an-introduction-to-jsf-2-3/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/hello-world-jsf-2.3))
* [GraalVM - an introduction to the next level JVM](https://rieckpil.de/whatis-graalvm/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/graalvm-intro))
* [MicroProfile Config](https://rieckpil.de/whatis-eclipse-microprofile-config/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/microprofile-config))
* [MicroProfile Fault Tolerance](https://rieckpil.de/whatis-eclipse-microprofile-fault-tolerance/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/microprofile-fault-tolerance))
* [MicroProfile Metrics](https://rieckpil.de/whatis-eclipse-microprofile-metrics/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/microprofile-metrics))
* [MicroProfile JWT Auth](https://rieckpil.de/whatis-eclipse-microprofile-jwt-auth/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/microprofile-jwt-auth))
* [MicroProfile Rest Client](https://rieckpil.de/whatis-eclipse-microprofile-rest-client/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/microprofile-rest-client))
* [MicroProfile OpenAPI](https://rieckpil.de/whatis-eclipse-microprofile-openapi/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/microprofile-open-api))
* [MicroProfile OpenTracing](https://rieckpil.de/whatis-eclipse-microprofile-opentracing/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/microprofile-open-tracing))
* [MicroProfile Health](https://rieckpil.de/whatis-eclipse-microprofile-health/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/microprofile-health))
* [Contexts and Dependency Injection (CDI)](https://rieckpil.de/whatis-contexts-and-dependency-injection-cdi/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/cdi))
* [Jakarta RESTful Web Services (JAX-RS)](https://rieckpil.de/whatis-jakarta-restful-web-services-jax-rs/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/jax-rs))
* [JSON Binding (JSON-B)](https://rieckpil.de/whatis-json-binding-json-b/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/json-b))
* [JSON Processing (JSON-P)](https://rieckpil.de/whatis-json-processing-json-p/) ([Sources](https://github.com/rieckpil/getting-started-with-eclipse-microprofile/tree/master/json-p))

## REVIEW Articles

* [What’s new in Spring Boot 2.1](https://rieckpil.de/review-whats-new-in-spring-boot-2-1/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/whats-new-in-spring-boot-2.1))
* [What's new in Spring Boot 2.2](https://rieckpil.de/review-whats-new-in-spring-boot-2-2/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/whats-new-in-spring-boot-2.2))
* [What's new in Spring Boot 2.3](https://rieckpil.de/whats-new-in-spring-boot-2-3/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/whats-new-in-spring-boot-2.3))
* [What's new in MicroProfile 3.1](https://rieckpil.de/review-whats-new-in-microprofile-3-1/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/whats-new-in-microprofile-3.1))
* [Improved Java/Jakarta EE productivity with Adam Bien’s WAD (Watch and Deploy)](https://rieckpil.de/review-improved-java-jakarta-ee-productivity-with-adam-biens-wad-watch-and-deploy/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/improved-java-ee-productivity-with-wad))
* [5 Java 9 Features you might not know yet](https://rieckpil.de/review-5-java-9-features-you-might-not-know-yet/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/five-java-9-features))
* [Top 3 Maven Plugins to ensure Quality and Security for your project](https://rieckpil.de/top-3-maven-plugins-to-ensure-quality-and-security-for-your-project/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/maven-plugins-to-ensure-quality))
* [Joyful Open Liberty Developer Experience with Liberty Maven Plugin](https://rieckpil.de/joyful-open-liberty-developer-experience-with-liberty-maven-plugin/) ([Sources](https://github.com/rieckpil/blog-tutorials/tree/master/open-liberty-maven-plugin-review))
