Frameworks and Languages
Your language and framework of choice is like a carpenter choosing their toolbox. Some have solutions for problems that are more straightforward than others, some are quicker to build with, and some can be extremely specialized. Knowing what your framework provides and how to best leverage it can help you write even better software.
Building an API with Spring Boot
Learn how to quickly develop a REST API from start to finish to build a microservice from scratch with this Spring Boot guide.
Creating Batch Microservices with Spring Batch
A batch microservice is a short-lived process that launches as the result of some trigger (typically a clock), or that is executed on demand. While batch processing may seem like a holdover from another era, it is still used widely for all kinds of asynchronous transaction and file processing workloads such as extract, transform, and load (ETL). Data science makes use of batch processing for the training of AI models and other asynchronous tasks.
Getting Started with GraalVM and Spring Native
Learn how to use GraalVM for JIT and AOT compilations with Spring Boot 2.7 and Spring Native
Getting Started with Spring Cloud Gateway
Explore this Spring Cloud Gateway guide to look at the code that goes around defining a gateway and running a gateway with a Spring Boot application.
Getting Started with Spring Cloud Stream
Leverage Spring Cloud Stream, a framework for building highly scalable, event-driven microservices for your enterprise needs.
Getting Started with Spring for GraphQL
Learn how to build GraphQL APIs with Spring for GraphQL.
Getting Started with Spring WebClient
How to setup and use the Spring WebClient to make Rest calls.
Integrate Spring Cloud Data Flow Applications with a Scalable MongoDB Deployment on Kubernetes
Integrate a Spring Cloud Data Flow app with a MongoDB service running on Kubernetes.
Let’s Build a Kubernetes Client with Spring Boot 3’s new AOT engine and GraalVM native images.
Offload HTTP Sessions with Spring Session and Redis
Spring Session frees session management from the limitations of HTTP data stored in server memory. Session data can be shared between services in a cloud without being tied to a single container, multiple sessions can be supported in the same browser, and session ids can be included and sent in a header. Spring Session allows the replacement of HttpSession in an application container neutral way, with support for providing session IDs in headers to work with RESTful APIs.
Python Like A Pro: How to Install Python
Learn how to install different versions of Python at the same time and switch between them with ease using the open-source command line tool Pyenv.
Python Like A Pro: Managing Global Packages
Learn how to isolate your global Python packages using PipX, a tool that allows the installation of packages in an isolated environment.
Python Like A Pro: Managing Project Dependencies
Learn how to isolate your Python dependencies using pyenv-virtualenv. Explore this guide to manage project dependencies and become a Python Pro!
Securing Spring Cloud Config Server
As explained in Setting Up Spring Cloud Config Server, a Spring Cloud Config Server provides a centralized configuration repository for Spring apps. The Spring Cloud Config Server externalizes configuration information for an application and serves out this information via a REST interface. Some configuration information is sensitive (such as passwords) and requires greater security. This guide explains two methods to increase the security of a Config Server: Using encryption in combination with a git repository Using Vault as a secure repository Note: To use encryption and decryption features you need the full-strength Java Cryptography Extension (JCE) installed in your JVM (it is not included by default).
Learn how to build and deploy serverless functions using Spring Boot and Spring Cloud Function.
Setting Up Spring Cloud Config Server
As an application moves through the deployment pipeline from dev to test to production, you may need a centralized way to manage the configuration across environments to make certain that each application has access to everything it needs to run as it moves and always uses the right configuration. Spring Cloud Config provides server-side and client-side support for managing and using external configuration information. This can have significant advantages with microservices applications where multiple instances of a microservice may be running at one time.
Spring Boot Testing Best Practices
Proper testing is critical to the successful development of applications that use a microservices architecture. This guide provides some important recommendations for writing tests for Spring Boot applications, using F.I.R.S.T. principles: F - Fast I - Independent R - Repeatable S - Self-Validating T - Timely Isolate the functionality to be tested You can better isolate the functionality you want to test by limiting the context of loaded frameworks/components. Often, it is sufficient to use the JUnit unit testing framework.
Spring Cloud Circuit Breaker, Adding Fault Tolerance to Your Applications
Learn how to add fault tolerance to your applications with Spring Cloud Circuit Breaker.
Spring Cloud Connectors and Datasources
Spring Cloud Connectors simplifies the process of connecting Spring applications to services in cloud platforms. If you aren’t familiar with the project, you might want to refer to the guide What Are Spring Cloud Connectors?. This guide examines the scenario where you are migrating a Spring Boot application that has two datasources, both of which are configured as Spring datasources. This means that the application has a DataSourceConfig class that is hosting bean factories responsible for dispensing both DataSource and JdbcTemplate objects.
Spring Route Authorization Testing
Dynamic testing of your Spring Security route authorizations
Using Project Reactor to Build a GraphQL Subscription and Hook it with Redis for Distributed Computing
A primer showing how to integrate Reactor with a GraphQL subscription and Redis topic.
Using Spring REST Docs
Spring REST Docs provides a useful and always update-to-date way to document an application’s RESTful services by combining hand-written documentation created with Asciidoctor and auto-generated snippets created by Spring MVC unit tests. The @AutoConfigureRestDocs annotation in Spring Boot allows you to leverage Spring REST Docs in your tests. This guide explains how to configure Spring REST Docs and use it in combination with JUnit for unit testing. Configuration steps for Spring REST Docs Java 7 and Spring Framework 4.
What are Spring Cloud Connectors?
Spring Cloud Connectors is a project that simplifies the process of connecting Spring applications to services in cloud platforms and gaining operational awareness of those platforms. It is designed for extensibility: you can use one of the provided cloud connectors or write one for your cloud platform, you can use the built-in support for commonly-used services (like relational databases, MongoDB, Redis, RabbitMQ), or extend Spring Cloud Connectors to work with your own services.
What is Spring Cloud Gateway?
Discover the basics and importance of Spring Cloud Gateway, a library for building API gateways on top of Spring and Java.
What is Spring Cloud Stream?
Discover how to use Spring Cloud Stream, a framework for building highly scalable, event-driven microservices connected with shared messaging systems.