LLMS Central - The Robots.txt for AI

baeldung.com

Last updated: 10/26/2025valid

Independent Directory - Important Information

This llms.txt file was publicly accessible and retrieved from baeldung.com. LLMS Central does not claim ownership of this content and hosts it for informational purposes only to help AI systems discover and respect website policies.

This listing is not an endorsement by baeldung.com and they have not sponsored this page. We are an independent directory service with no affiliation to the listed domain.

Copyright & Terms: Users should respect the original terms of service of baeldung.com. If you believe there is a copyright or terms of service violation, please contact us at support@llmscentral.com for prompt removal. Domain owners can also claim their listing.

Current llms.txt Content

Generated by All in One SEO v4.8.9, this is an llms.txt file, used by LLMs to index the site.

# Baeldung

Java, Spring and Web Development tutorials

## Sitemaps

- [XML Sitemap](https://www.baeldung.com/sitemap.xml): Contains all public & indexable URLs for this website.

## Posts

- [Guide to Spring Retry](https://www.baeldung.com/spring-retry) - A quick and practical guide to implementing retry logic with Spring Retry
- [Bind Custom Validation Message in Spring](https://www.baeldung.com/java-spring-bind-custom-validation-message) - Learn about Spring Boot's validation message system, how to configure it effectively, streamline error handling, and make message management more intuitive.
- [Order of Configuration in Spring Boot](https://www.baeldung.com/spring-boot-configuration-order) - Explore the order of configuration in Spring Boot as an essential tool for building predictable and maintainable applications.
- [Get Host Name with Port from a HTTP or HTTPS Request in Java](https://www.baeldung.com/java-get-host-name-port-from-http-request) - Explore different ways to get the hostname with a port from an HTTP request in Java.
- [BCD to Decimal Conversion](https://www.baeldung.com/java-bcd-decimal) - Learn about the BCD number format and couple of ways to convert it to the decimal number system using Java
- [How to Mock AmazonSQS in Unit Tests](https://www.baeldung.com/java-mock-amazonsqs-unit-tests) - Learn how to write unit test code that interacts with Amazon SQS.
- [Visual Studio Code File and Cache Handling](https://www.baeldung.com/java-visual-studio-code-file-and-cache-handling) - Explore caching in VSCode, how it works with files, ways to clear some caches inside the editor, and how different operations affect them.
- [Java Weekly, Issue 617](https://www.baeldung.com/java-weekly-617) - JDK 25 brought some solid performance improvements, and JDK 26 is already looking quite good with its new HTTP/3 support.
- [Build a Dashboard Using Cassandra, Astra, and Stargate](https://www.baeldung.com/cassandra-astra-stargate-dashboard) - Learn how to build a dashboard using DataStax Astra, a database-as-a-service powered by Apache Cassandra and Stargate APIs.
- [Build a Dashboard With Cassandra, Astra and CQL – Mapping Event Data](https://www.baeldung.com/cassandra-astra-rest-dashboard-map) - Learn how to display events on an interactive map, based on data stored in an Astra database.
- [Saving Date Values in Spring Data Cassandra](https://www.baeldung.com/spring-data-cassandra-dates) - Learn how to use Spring Data Cassandra to save date values and map them to Cassandra data types.
- [Logging Queries with Spring Data Cassandra](https://www.baeldung.com/spring-data-cassandra-logging-queries) - Explore the logging of queries and statements when using Apache Cassandra with Spring Boot.
- [CassandraUnit Test Tutorial](https://www.baeldung.com/java-cassandra-unit) - Write reliable, self-contained unit tests using CassandraUnit.
- [Testing NoSQL Queries With Spring Boot and @DataCassandraTest](https://www.baeldung.com/spring-boot-datacassandratest) - Learn how to test a Cassandra database slice of a Spring Boot application using the Spring @DataCassandraTest annotation.
- [Connecting to a NoSQL Database with Spring Boot](https://www.baeldung.com/spring-boot-nosql-database) - Learn how to set up and connect to a hosted Cassandra Astra Database.
- [Building a Web App Using Fauna and Spring for Your First Web Agency Client](https://www.baeldung.com/faunadb-spring-web-app) - A comprehensive example of a web app with FaunaDB.
- [Building IoT Applications Using Fauna and Spring](https://www.baeldung.com/fauna-spring-building-iot-applications) - An introduction to building IoT applications using Fauna and Spring.
- [MongoDB - Field Level Encryption](https://www.baeldung.com/mongodb-field-level-encryption) - A practical guide to field-level encryption with MongoDB.
- [MongoDB Atlas Search Using the Java Driver and Spring Data](https://www.baeldung.com/mongodb-spring-data-atlas-search) - A quick and practical guide to MongoDB Atlas search with Spring Data.
- [Event-Driven Microservices With Orkes Conductor](https://www.baeldung.com/orkes-conductor-guide) - Learn how to build event-driven microservices using the Orkes Conductor and Spring.
- [Automated Visual Regression Testing Over Scalable Cloud Grid](https://www.baeldung.com/automated-visual-regression-testing) - Learn how to automate visual regression tests in the cloud with a scalable grid such as LambdaTest.
- [Automated End-to-End Testing With Playwright](https://www.baeldung.com/playwright-automated-end-to-end-testing) - Tutorial on how to automate end-to-end testing with Playwright and TypeScript.
- [Building a RAG App Using MongoDB and Spring AI](https://www.baeldung.com/spring-ai-mongodb-rag) - Explore a Spring AI integration with the MongoDB Vector database and the LLM.
- [Automated Accessibility Testing With Selenium](https://www.baeldung.com/selenium-accessibility-testing) - Learn the significance of accessibility testing and explore how to automate it with Selenium.
- [Automated Browser Testing With Selenium](https://www.baeldung.com/selenium-automated-browser-testing) - Learn to do automation testing with tools like Selenium to deliver high-quality websites and web applications more quickly.
- [How to Run Selenium Regression Tests With GitHub Actions](https://www.baeldung.com/selenium-regression-tests-github-actions) - Learn how to run Selenium regression tests with GitHub Actions.
- [Saga Pattern in a Microservices Architecture](https://www.baeldung.com/orkes-conductor-saga-pattern-spring-boot) - Learn how to implement Saga Pattern in a microservices architecture with Orkes Conductor.
- [Building an AI Chatbot in Java With Langchain4j and MongoDB Atlas](https://www.baeldung.com/java-langchain-mongodb) - Walk through the process of building a chatbot using Langchain4j and MongoDB Atlas.
- [Introduction to Lightrun with Java](https://www.baeldung.com/java-lightrun) - Explore Lightrun - a Developer Observability platform.
- [Making HTTPS Calls to Untrusted SSL Servers With REST Assured](https://www.baeldung.com/rest-assured-https-untrusted) - Learn how to make HTTPS calls to untrusted SSL servers using the REST Assured testing framework.
- [Configuration Management using Apollo](https://www.baeldung.com/apollo-configuration-management) - Learn how to use the Apollo configuration management and version control system to manage application configuration centrally.
- [How to Unit Test Micrometer](https://www.baeldung.com/testing-micrometer-metrics) - Unit testing metrics is crucial for ensuring that our application correctly tracks performance data and business metrics. By using Micrometer's SimpleMeterRegistry, we can create isolated tests that verify our metrics collection without requiring a full Spring context. When it comes to integration tests, we need to reset the MeterRegistry to perform assertions on it during our @SpringBootTests.
- [Constructor vs initialize() Method in OpenJFX](https://www.baeldung.com/javafx-constructor-vs-initialize) - Learn how a constructor differs from initialize() in JavaFX.
- [Generating HTTP Clients in Spring Boot from OpenAPI Spec](https://www.baeldung.com/spring-boot-http-client-from-openapi-spec) - Learn how to auto-generate client code using OpenAPI Specification and the OpenAPI Maven plugin
- [Creational Design Patterns in Core Java](https://www.baeldung.com/java-creational-design-patterns) - Learn about creational design patterns along with examples of core Java classes that use them to create and obtain instances of objects.
- [Bill Pugh Singleton Implementation](https://www.baeldung.com/java-bill-pugh-singleton-implementation) - Learn to implement the Bill Pugh Singleton pattern.
- [Design Patterns in the Spring Framework](https://www.baeldung.com/spring-framework-design-patterns) - Learn about four of the most common design patterns used in the Spring Framework
- [Implementing a Custom Lombok Annotation](https://www.baeldung.com/lombok-custom-annotation) - Learn how to implement a custom annotation using Lombok handlers.
- [Private Constructors in Java](https://www.baeldung.com/java-private-constructors) - Learn about private constructors in Java.
- [Introduction to Creational Design Patterns](https://www.baeldung.com/creational-design-patterns) - An introduction to four fundamental creational design patterns: Singleton, Factory Method, Abstract Factory, and Builder.
- [The Difference Between CDI and EJB Singleton](https://www.baeldung.com/jee-cdi-vs-ejb-singleton) - Explore the differences between JEE CDI and EJB singletons.
- [How Does the Spring Singleton Bean Serve Concurrent Requests?](https://www.baeldung.com/spring-singleton-concurrent-requests) - Learn how Spring beans created with the singleton scope work behind the scenes to serve multiple concurrent requests.
- [Singleton Session Bean in Jakarta EE](https://www.baeldung.com/java-ee-singleton-session-bean) - An exploration on applying a Singleton when using Session Beans.
- [Reinitialize Singleton Bean in Spring Context](https://www.baeldung.com/spring-reinitialize-singleton-bean) - Learn multiple ways to reinitialize singleton Spring beans at runtime.
- [Injecting Prototype Beans into a Singleton Instance in Spring](https://www.baeldung.com/spring-inject-prototype-bean-into-singleton) - Learn how to inject prototype beans into a singleton-scoped bean instance.
- [Static Classes Versus the Singleton Pattern in Java](https://www.baeldung.com/java-static-class-vs-singleton) - Understanding how static classes and the Singleton design pattern compare in Java
- [Double-Checked Locking with Singleton](https://www.baeldung.com/java-singleton-double-checked-locking) - Learn about double-checked locking and its alternatives to tackle synchronization problems
- [Mocking a Singleton With Mockito](https://www.baeldung.com/java-mockito-singleton) - Learn a few ways to write unit tests for singletons using Mockito.
- [How to Serialize a Singleton in Java](https://www.baeldung.com/java-serialize-singleton) - Learn how to create a serializable singleton class in Java.
- [Drawbacks of the Singleton Design Pattern](https://www.baeldung.com/java-patterns-singleton-cons) - Learn the general drawbacks of the Singleton design pattern and check out some alternatives.
- [Singleton Design Pattern vs Singleton Beans in Spring Boot](https://www.baeldung.com/spring-boot-singleton-vs-beans) - Compare singleton beans with objects created using the singleton design pattern.
- [Singletons in Java](https://www.baeldung.com/java-singleton) - See how to implement the Singleton Design Pattern in plain Java.
- [Partial Data Update With Spring Data](https://www.baeldung.com/spring-data-partial-update) - Learn techniques and approaches to performing a partial instead of a full update
- [String Concatenation with Invoke Dynamic](https://www.baeldung.com/java-string-concatenation-invoke-dynamic) - Learn about relatively new Java optimization: string concatenation with invokedynamic
- [OpenAPI JSON Objects as Query Parameters](https://www.baeldung.com/openapi-json-query-parameters) - Learn how to specify JSON objects as query parameters using the OpenAPI specification.
- [HTTP Server with Netty](https://www.baeldung.com/java-netty-http-server) - Explore how to implement the HTTP protocol, particularly an HTTP server using Netty.
- [Circular View Path Error](https://www.baeldung.com/spring-circular-view-path-error) - Learn about the Circular View Path error in a Spring Boot project.
- [Injecting Spring Beans into Unmanaged Objects](https://www.baeldung.com/spring-inject-bean-into-unmanaged-objects) - Learn how to inject a Spring bean into an ordinary object.
- [Liveness and Readiness Probes in Spring Boot](https://www.baeldung.com/spring-liveness-readiness-probes) - Learn how to integrate Spring with Kubernetes probes
- [Redirecting Logged-in Users with Spring Security](https://www.baeldung.com/spring-security-redirect-logged-in) - Learn several ways how to redirect logged-in users from the login page using Spring Security.
- [Spring RestTemplate Request/Response Logging](https://www.baeldung.com/spring-resttemplate-logging) - A quick and practical guide to RestTemplate logging.
- [Converting a Spring MultipartFile to a File](https://www.baeldung.com/spring-multipartfile-to-file) - Learn to convert a Spring MultipartFile to a File.
- [Implementing a Ring Buffer in Java](https://www.baeldung.com/java-ring-buffer) - Learn how to implement a Ring Buffer in Java.
- [The Covariant Return Type in Java](https://www.baeldung.com/java-covariant-return-type) - Explore what the covariance and covariant return types are and how they behave in Java.
- [Testing a Spring Multipart POST Request](https://www.baeldung.com/spring-multipart-post-request-test) - Learn how to test a Spring Multipart POST Request using MockMvc with the help of an example.
- [Finding Unused Gradle Dependencies](https://www.baeldung.com/gradle-finding-unused-dependencies) - Learn how to use the Gradle Nebula Lint plugin to identify and fix unused dependencies in your project
- [Getting MAC Addresses in Java](https://www.baeldung.com/java-mac-address) - Learn how to get the mac addresses of network card interfaces in Java.
- [Inject a Map from a YAML File with Spring](https://www.baeldung.com/spring-yaml-inject-map) - Learn how to inject a Map from a YAML file in Spring Boot.
- [How to Scroll an Element Into View in Selenium](https://www.baeldung.com/selenium-scroll-to-element) - Learn how to scroll to and work with off-screen elements in Java Selenium.
- [Java Split String Performance](https://www.baeldung.com/java-split-string-performance) - Learn how different ways to split strings in Java fare against each other in terms of function and performance.
- [Java Serialization with Non Serializable Parts](https://www.baeldung.com/java-serialization-not-serializable-parts) - Learn how to use Java serialization when an object contains fields that were not designed to be serialized.
- [How to Select Value From Dropdown Using Selenium Webdriver](https://www.baeldung.com/java-selenium-select-dropdown-value) - Learn how to select an option or a value from a dropdown element using Selenium WebDriver with Java.
- [How to Generate PDF With Selenium](https://www.baeldung.com/java-selenium-create-pdf) - Learn how to generate a PDF with Selenium.
- [Java Generics "capture of ?"](https://www.baeldung.com/java-generics-capture-of) - When working with wildcards in generics in Java, we sometimes see a "capture of ?" compile-time error. Learn what a "capture" is, in which cases we see such an error message, and how we can solve the problem.
- [Lombok Using @With Annotations](https://www.baeldung.com/lombok-with-annotations) - Learn how to make copies of immutable objects with changes to only a single property using Lombok.
- [Grouping Jakarta (Javax) Validation Constraints](https://www.baeldung.com/javax-validation-groups) - A quick and practical overview of grouping Javax validation constraints.
- [How to Log All Requests and Responses and Exceptions in a Single Place](https://www.baeldung.com/spring-boot-centralize-http-logging) - Learn how to implement centralized logging in a Spring Boot application to capture every request, response, and exception.
- [Reloading Properties Files in Spring](https://www.baeldung.com/spring-reloading-properties) - Learn a few approaches to getting property values to reload in Spring Beans, including Spring Cloud's refresh scope.
- [Streaming Response in Spring AI ChatClient](https://www.baeldung.com/spring-ai-chatclient-stream-response) - Explore how to use Spring AI ChatClient to return a streaming chat response rather than sending the entire response at once
- [Building Effective Agents with Spring AI](https://www.baeldung.com/spring-ai-building-effective-agents) - Explore Antropic's publication on Effective AI Agents and implement of each pattern using agents with Spring AI
- [Overriding a Method in an Instantiated Java Object](https://www.baeldung.com/java-overriding-method-instantiated-object) - Discover different approaches to modify the behavior of an existing object.
- [PartitionKey in Hibernate: A Practical Guide for Spring Boot](https://www.baeldung.com/springboot-hibernate-partitionkey-guide) - Learn how to make Spring Data and Hibernate work with partitioned tables.
- [MCP Authorization With Spring AI and OAuth2](https://www.baeldung.com/spring-ai-oath2-mcp-authorization) - Learn how to secure MCP servers and clients using Spring AI and OAuth2.
- [Streaming Multipart Data Sequentially in Spring](https://www.baeldung.com/spring-streaming-multipart-data) - Learn how to implement streaming for multipart data with Spring MVC and Reactive WebFlux.
- [Spring Boot FeignClient vs. WebClient](https://www.baeldung.com/spring-boot-feignclient-vs-webclient) - Compare two styles of writing web clients in Spring.
- [HandlerInterceptors vs. Filters in Spring MVC](https://www.baeldung.com/spring-mvc-handlerinterceptor-vs-filter) - Compare the Java servlet Filter and the Spring MVC HandlerInterceptor and learn when one might be preferable over the other
- [The "Cannot find symbol" Compilation Error](https://www.baeldung.com/java-cannot-find-symbol-error) - Review what compilation errors are, and then specifically explain what the "cannot find symbol" error is and how it's caused.
- [“Not a Managed Type” Exception in Spring Data JPA](https://www.baeldung.com/spring-data-jpa-not-managed-type-exception) - Explore the reasons behind the “Not a Managed Type” Exception in Spring Data JPA.
- [Content Analysis with Apache Tika](https://www.baeldung.com/apache-tika) - Learn how to detect document types and extract content from documents with Java and Apache Tika.
- [Abstract Method With Variable List of Arguments in Java](https://www.baeldung.com/java-abstract-method-with-variable-list-of-arguments) - Learn how to implement an abstract method in Java that works with a variable set of arguments.
- [Validate UUID String in Java](https://www.baeldung.com/java-validate-uuid-string) - Learn how to validate a UUID string by using regular expressions or the static method of the UUID class.
- [A Guide to TreeMap in Java](https://www.baeldung.com/java-treemap) - A quick and practical guide to TreeMap in Java.
- [Java Technical Editor (part-time)](https://www.baeldung.com/content-editor-job) - Join the Baeldung editorial team.
- [Rapid Web Application Development With Spring Boot and Jmix](https://www.baeldung.com/jmix-rapid-web-application-development) - In this tutorial, we'll learn how to use the Jmix Studio and Jmix Framework for IntelliJ IDEA to build a full-stack MVP for a Spring Boot application.
- [Handling <em>UnexpectedRollbackException</em> in Spring](https://www.baeldung.com/spring-unexpected-rollback-exception) - Learn how to prevent UnexpectedRollbackException in Spring by using separate transactions or TransactionTemplate for reliable audit logging.
- [Introduction to Delta Lake](https://www.baeldung.com/java-delta-lake) - A quick introduction to Delta Lake for data lakes.
- [A Guide To Caching in Spring](https://www.baeldung.com/spring-cache-tutorial) - How to enable, configure and make good use of the Caching Abstraction in Spring.
- [Introduction to Apache Flink with Java](https://www.baeldung.com/apache-flink) - A practical guide to processing batch and stream data with the Apache Flink API for Java.
- [Introduction to Lock Striping](https://www.baeldung.com/java-lock-stripping) - Learn the key differences between coarse-grained synchronization and fine-grained synchronization and how to implement them in Java.
- [Migrate Application From Spring Boot 2 to Spring Boot 3](https://www.baeldung.com/spring-boot-3-migration) - Learn how to migrate a Spring Boot application to Spring Boot 3.
- [Buffer Overflows in Java](https://www.baeldung.com/java-buffer-overflows) - Discover what Buffer Overflow is and the threats it poses to our system.
- [X.509 Authentication in Spring Security](https://www.baeldung.com/x-509-authentication-in-spring-security) - The article discusses using certificates for both client and server side authentication.
- [Java Weekly, Issue 616](https://www.baeldung.com/java-weekly-616) - The Spring community is active as always, the AI story in Java looks solid and a back-to-basics piece on dependencies. Good stuff.
- [Flexible Pub/Sub Messaging With Spring Boot and Dapr](https://www.baeldung.com/spring-boot-dapr-pub-sub-messaging) - Learn how to integrate Dapr with Spring Boot to create a publish/subscribe system without coupling to specific brokers.
- [Forcing Jackson to Deserialize to Specific Type](https://www.baeldung.com/java-jackson-deserialize-particular-type) - Learn how to force Jackson to deserialize a JSON value to a specific type.
- [Native Memory Tracking in JVM](https://www.baeldung.com/native-memory-tracking-in-jvm) - Learn about native memory allocation in the JVM and how to track it.
- [Working with Repository Vector Search Methods in Spring Data](https://www.baeldung.com/spring-data-repository-vector-search-methods) - Learn how Spring Data can help integrate with vector databases.
- [A Guide to the ResourceBundle](https://www.baeldung.com/java-resourcebundle) - It's always challenging to maintain and extend multilingual applications. This article covers how to use the ResourceBundle to cope with the varieties that come up when you need to provide the same content to different cultures.
- [Introduction to Java Parquet (Formerly Parquet MR)](https://www.baeldung.com/java-intro-to-apache-parquet) - Learn to use Apache Parquet in Java 17, understanding Example API, Avro models, column projection, predicate pushdown, and ZSTD compression for efficient analytics.
- [API Documentation Using Smart-Doc](https://www.baeldung.com/java-api-smart-doc) - Explore how to use Smart-Doc to generate API documentation for a Java application.
- [Tagging Patterns for Micrometer Metrics](https://www.baeldung.com/micrometer-tagging-patterns) - In this article, we explore Micrometer metrics with a focus on tagging. We use Micrometer in a Spring Boot application and apply various patterns to create simple metrics, such as counters and timers. We'll start by using Micrometer's Builder API to create meters with variable tag values. Additionally, we'll look at MeterProviders as an alternative that allows us to avoid potential performance issues. We'll also use Spring AOP and Micrometer-specific annotations to record method invocations in a declarative manner.
- [Java Money and the Currency API](https://www.baeldung.com/java-money-and-currency) - A quick guide to the Currency and Money upcoming JSR and how to use it in practice.
- [Configuring Separate Spring DataSource for Tests](https://www.baeldung.com/spring-testing-separate-data-source) - A quick, practical tutorial on how to configure a separate data source for testing in a Spring application.
- [Static vs. Instance Initializer Block in Java](https://www.baeldung.com/java-static-instance-initializer-blocks) - A short article explaining the differences between static and instance instantiation.
- [Using the Spring RestTemplate Interceptor](https://www.baeldung.com/spring-rest-template-interceptor) - Learn about using interceptors in your Spring application with the RestTemplate.
- [Introduction to Pointcut Expressions in Spring](https://www.baeldung.com/spring-aop-pointcut-tutorial) - A quick and practical intro to Spring AOP and Pointcut Expressions.
- [Spring MVC Tutorial](https://www.baeldung.com/spring-mvc-tutorial) - Spring MVC configuration - both Java and XML - on a simple Spring MVC project.
- [Injecting a Value in a Static Field in Spring](https://www.baeldung.com/spring-inject-static-field) - Learn how to inject a value into a static field in Java
- [Spring Boot 3 and Spring Framework 6.0 - What's New](https://www.baeldung.com/spring-boot-3-spring-6-new) - Learn about new features that come with Spring Boot 3 and Spring 6.
- [Java - "Could Not Find or Load Main Class" Error](https://www.baeldung.com/java-could-not-find-load-main-class) - Explore the reasons for the error "Could not find or load main class" and learn how to avoid them.
- [Modifying a File's Content Based on Patterns in Java](https://www.baeldung.com/java-modify-file-content-based-on-pattern) - Explore two practical techniques for modifying a file's content in Java based on regular expression patterns
- [Flyway Out of Order Migrations](https://www.baeldung.com/flyway-migrations) - Learn more about Flyway Migrations.
- [Format a Milliseconds Duration to HH:MM:SS](https://www.baeldung.com/java-ms-to-hhmmss) - Learn how to use Java's Duration, TimeUnit, and third-party libraries to format a duration to a specific format
- [Combine (Concatenate) Two Data Frames With the Same Column Name in Java](https://www.baeldung.com/java-spark-join-dataframes) - Explore how to combine or concatenate two DataFrames with the same column name in Java using Apache Spark.
- [Quick Guide to Micrometer](https://www.baeldung.com/micrometer) - Learn about the metrics facade Micrometer and its integration with Spring.
- [A Guide to Micrometer in Quarkus](https://www.baeldung.com/quarkus-micrometer) - A quick tutorial on adding and customizing Micrometer in a Quarkus application.
- [Micrometer Observation and Spring Kafka](https://www.baeldung.com/spring-kafka-micrometer) - Explore the monitoring capabilities provided by Spring Kafka using Micrometer and Spring Boot Actuator. Take a look at the native metrics exposed by Apache Kafka for both producers and consumers, which offer valuable insights into performance, throughput, errors, and latency and those augmented by Spring.
- [NoSQL Series](https://www.baeldung.com/nosql-series) - Learn about popular NoSQL persistence solutions.
- [Java Weekly, Issue 615](https://www.baeldung.com/java-weekly-615) - Spring Boot 4 is embracing Jackson 3 and using the reactive Context properly. A solid week.
- [Memcached vs Redis](https://www.baeldung.com/memcached-vs-redis) - Learn about the similarities and differences between Memcached and Redis.
- [Disable Security for a Profile in Spring Boot](https://www.baeldung.com/spring-security-disable-profile) - A quick and practical guide to disabling Spring Security for a specific profile in Spring Boot.
- [Single Responsibility Principle in Java](https://www.baeldung.com/java-single-responsibility-principle) - A quick and practical guide to the Single Responsibility Principle in Java
- [Asserting Log Messages With JUnit](https://www.baeldung.com/junit-asserting-logs) - Learn how to test log messages with JUnit
- [Manual Logout With Spring Security](https://www.baeldung.com/spring-security-manual-logout) - Learn how to execute a manual logout with Spring Security.
- [Spring Security With Okta](https://www.baeldung.com/spring-security-okta) - Explore Spring Security with Okta along with a minimalistic setup of the Okta developer account
- [Foreign Function and Memory API in Java](https://www.baeldung.com/java-foreign-memory-access) - Java 14 brings in a new API to wrap accessing memory managed outside of the JVM. Here we explore the need for the API and how it works.
- [Transactional Annotations: Spring vs. JTA](https://www.baeldung.com/spring-vs-jta-transactional) - A quick and practical comparison of various @Transactional annotations.
- [AWS AppSync With Spring Boot](https://www.baeldung.com/aws-appsync-spring) - Learn how to use AWS AppSync with Spring Boot.
- [Introduction to Lock-Free Data Structures with Java Examples](https://www.baeldung.com/lock-free-programming) - A quick and practical guide to lock-free data structures in Java.
- [Open/Closed Principle in Java](https://www.baeldung.com/java-open-closed-principle) - Explore the Open/Closed Principle (OCP) as one of the SOLID principles of object-oriented programming in Java.
- [Introduction to Exchanger in Java](https://www.baeldung.com/java-exchanger) - A quick and practical guide to the Exchanger class in Java.
- [LinkedBlockingQueue vs ConcurrentLinkedQueue](https://www.baeldung.com/java-queue-linkedblocking-concurrentlinked) - Learn the difference between LinkedBlockingQueue and ConcurrentLinkedQueue in Java
- [Comparing Objects in Java](https://www.baeldung.com/java-comparing-objects) - Learn about comparing objects in Java.
- [Spring Security With Auth0](https://www.baeldung.com/spring-security-auth0) - Learn how to integration Auth0 with Spring Security
- [Casting int to Enum in Java](https://www.baeldung.com/java-cast-int-to-enum) - Learn how to cast an int to an Enum in Java
- [Spring BeanPostProcessor](https://www.baeldung.com/spring-beanpostprocessor) - Learn how we can use Spring's BeanPostProcessor to customize the beans themselves.
- [Chat Memory in Spring AI](https://www.baeldung.com/spring-ai-chat-memory) - Explore different options of chat memory provided in Spring AI and provide examples on how we integrate the chat memory with the chat client.
- [ChatClient Fluent API in Spring AI](https://www.baeldung.com/spring-ai-chatclient) - Learn about the fluent API of ChatClient the new feature of Spring AI
- [Handling "non-value" doubles in Java](https://www.baeldung.com/java-handling-non-value-doubles) - Learn how handling incorrect values or "non-values" is a tricky art and heavily depends on what we plan to do with the numbers.
- [Refresh and Fetch an Entity After Save in JPA](https://www.baeldung.com/spring-data-jpa-refresh-fetch-entity-after-save) - Explore various strategies and techniques to effectively refresh and fetch entities after saving in JPA.
- [Swagger @Parameter vs @Schema](https://www.baeldung.com/swagger-parameter-vs-schema) - Let's compare Swagger's @Parameter and @Schema annotations, and identify the correct usage for each.
- [Sanitize HTML Code to Prevent XSS Attacks](https://www.baeldung.com/java-sanitize-html-prevent-xss-attacks) - Explore how to sanitize HTML input in Java applications to prevent XSS attacks.
- [Guide to Character Encoding](https://www.baeldung.com/java-char-encoding) - Explore character encoding in Java and learn about common pitfalls.
- [Validate an XML File Against an XSD File](https://www.baeldung.com/java-validate-xml-xsd) - Learn how to validate an XML file against an XSD file.
- [Intro to Spring Security Expressions](https://www.baeldung.com/spring-security-expressions) - Simple and practical guide to Spring Security Expressions.
- [Storing Date and Time in PostgreSQL Using Java](https://www.baeldung.com/java-postgresql-store-date-time) - A quick tutorial on saving Java dates and times in PostgreSQL.
- [Implement SASL Authentication in Kafka With JAAS Config](https://www.baeldung.com/kafka-sasl-authentication-jaas-config) - Tutorial on how to implement an authentication mechanism called Simple Authentication and Socket Layer (SASL) in a Kafka service.
- [Flexible Constructor Bodies in Java 25](https://www.baeldung.com/java-25-flexible-constructor-bodies) - Discover the new constructor options availabe in Java 25.
- [Uploading MultipartFile with Spring RestTemplate](https://www.baeldung.com/spring-rest-template-multipart-upload) - Learn how to upload files using Spring's RestTemplate.
- [Combining JPA And/Or Criteria Predicates](https://www.baeldung.com/jpa-and-or-criteria-predicates) - Learn how to use the JPA Criteria API to implement use cases where we needed to combine AND/OR predicates.
- [Control Structures in Java](https://www.baeldung.com/java-control-structures) - Learn about the control structures you can use in Java.
- [Exactly Once Processing in Kafka with Java](https://www.baeldung.com/kafka-exactly-once) - A brief tutorial to understanding exactly once processing in Kafka using the transactional API.
- [Working with Relationships in Spring Data REST](https://www.baeldung.com/spring-data-rest-relationships) - A practical guide to working with entity relationships in Spring Data REST.
- [Guide to Java Diff Utils](https://www.baeldung.com/java-diff-utils-intro) - Learn how to use the Java Diff Utils library for comparing text content line-by-line, applying patches, building side-by-side diff views, etc.
- [Cleaning Spring Properties Files](https://www.baeldung.com/spring-properties-cleaner) - Learn how to use Spring Properties Cleaner to help maintain application properties files, avoiding duplication and reducing complexity.
- [Stable Values in Java 25](https://www.baeldung.com/java-25-stable-values) - Explore the preview feature Stable Value API (JEP 502) introduced in Java 25.
- [Getting Started With the Temporal Workflow Engine in Java](https://www.baeldung.com/java-temporal-workflow-engine) - Learn about the Temporal workflow engine, go through a fairly basic example, and understand how to use it via both the CLI and the API.
- [How to Find Null or Empty Strings in a Java List](https://www.baeldung.com/java-list-find-null-empty-strings) - Learn how to detect null or empty Strings in a List in Java.
- [A Guide to OpenAI’s Moderation Model in Spring AI](https://www.baeldung.com/sping-ai-openai-moderation-model) - Learn how to build a moderation service and integrate it with a moderation model using Spring AI and Open AI.
- [Execute mTLS Calls Using Java](https://www.baeldung.com/java-execute-mtls-calls) - Learn how to set up Nginx server with mTLS in Java.
- [Implementing CQRS with Spring Modulith](https://www.baeldung.com/spring-modulith-cqrs) - Let's take a fresh look at the CQRS pattern, exploring its benefits and trade-offs in a modular Spring Boot application. We'll use Spring Modulith to structure our code into clearly separated modules and to enable asynchronous, event-driven communication between them. This approach is inspired by our colleague Gaetano Piazzolla's article, where he demonstrates CQRS with Spring Modulith in a product catalog. Here, we'll adapt the same ideas to a movie ticket booking system and keep the two sides in sync via domain events.
- [Programmatic Bean Registration Mechanism With BeanRegistrar in Spring](https://www.baeldung.com/spring-beanregistrar-registration) - Learn about BeanRegistrar, a new Spring 7 feature that helps register beans in a clean, declarative, and native-compatible way.
- [Convert long to int Type in Java](https://www.baeldung.com/java-convert-long-to-int) - A quick and practical guide to long to int conversion in Java.
- [Registration with Spring Security - Password Encoding](https://www.baeldung.com/spring-security-registration-password-encoding-bcrypt) - How to encode password when registering (and authenticating) a new user - with Spring Security and BCrypt.
- [Invoking a SOAP Web Service in Spring](https://www.baeldung.com/spring-soap-web-service) - Learn how to invoke a SOAP web service using Spring WS.
- [Maven Deploy to Nexus](https://www.baeldung.com/maven-deploy-nexus) - Maven Deploy to Nexus - The Nexus Snapshot Repository in the pom and how to set up the Deployment Process.
- [Liskov Substitution Principle in Java](https://www.baeldung.com/java-liskov-substitution-principle) - The L in SOLID, the Liskov Substitution Principle helps structure object oriented design. We also explore how it supports the Open/Closed Principle.
- [A Guide to Spring JdbcClient API](https://www.baeldung.com/spring-6-jdbcclient-api) - Learn about the JdbcClient interface, the latest addition to Spring Framework 6.1.
- [Debugging Spring Boot Applications With IntelliJ IDEA](https://www.baeldung.com/intellij-debug-spring-boot-applications) - Explore the Spring Debugger plugin for IntelliJ IDEA.
- [Introduction to PowerMock](https://www.baeldung.com/intro-to-powermock) - This article demonstrates the use of the PowerMockito extension to Mockito's capabilities, including the mocking of static, final, and private methods.
- [Jackson - Bidirectional Relationships](https://www.baeldung.com/jackson-bidirectional-relationships-and-infinite-recursion) - How to use Jackson to break the infinite recursion problem on bidirectional relationships.
- [Execute Tests Based on Active Profile With JUnit 5](https://www.baeldung.com/spring-boot-junit-5-testing-active-profile) - Learn how to execute tests based on the active Spring profile using JUnit 5.
- [Format ZonedDateTime to String](https://www.baeldung.com/java-format-zoned-datetime-string) - Learn how to convert ZonedDateTime to String and vice-versa in Java
- [How to Set the JVM Time Zone](https://www.baeldung.com/java-jvm-time-zone) - Learn about several ways we can modify the time zone of the JVM using Java.
- [A Guide To Spring Redirects](https://www.baeldung.com/spring-redirect-and-forward) - A guide to redirect and forward in Spring MVC, with a focus on the code and implementation of each strategy.
- [GridFS in Spring Data MongoDB](https://www.baeldung.com/spring-data-mongodb-gridfs) - A quick guide to interacting with GridFS using Spring Data MongoDB.
- [A Guide to Queries in Spring Data MongoDB](https://www.baeldung.com/queries-in-spring-data-mongodb) - How to Query MongoDB with Spring Data: Query and Criteria, auto-generated repository methods, raw queries with the @Query annotation as well as QueryDSL.
- [Custom Cascading in Spring Data MongoDB](https://www.baeldung.com/cascading-with-dbref-and-lifecycle-events-in-spring-data-mongodb) - How to implement a solid, generic cascading mechanism with lifecycle events in Spring Data MongoDB.
- [How to Implement a Thread-Safe Singleton in Java?](https://www.baeldung.com/java-implement-thread-safe-singleton) - Explore various approaches to implement thread-safe Singleton patterns in Java, examining their trade-offs and best practices.
- [Understanding Message Delivery with Multiple Partitions](https://www.baeldung.com/kafka-message-delivery-multiple-partitions) - Explore how Kafka's partition-based architecture handles message delivery while maintaining ordering guarantees where they matter most.
- [Spring AI With Docker Model Runner](https://www.baeldung.com/spring-ai-docker-model-runner) - Learn how to set up Docker Model Runner for a Spring AI application.
- [Copying Text to the Clipboard in Java](https://www.baeldung.com/java-clipboard-copy-paste-text) - A quick tutorial on copying and pasting strings to and from the clipboard in Java.
- [How to Implement Retry for JUnit Tests](https://www.baeldung.com/junit-implement-retry) - Explore how to implement retry logic in JUnit 4 and JUnit 5, custom and library-based approaches, and learn about best practices.
- [Fixing Hibernate’s DuplicateMappingException When a Column Is Duplicated for an Entity](https://www.baeldung.com/hibernate-fix-duplicatemappingexception) - How to fix the Hibernate exception "DuplicateMappingException: Column is duplicated in mapping for entity". What's the main cause? Let's reproduce and solve it.
- [Extracting Flat and Nested Keys from a JSONObject](https://www.baeldung.com/java-jsonobject-extract-keys) - Learn how to extract all the keys from a JSON object for purposes like validation, transformation, or data mapping.
- [Read and Write to IBM MQ Queue Using Java JMS](https://www.baeldung.com/java-message-service-ibm-mq-read-write) - Learn how to set up JMS connections, sessions, and message producers/receivers for interacting with IBM MQ queues.
- [Integrating Passkeys into Spring Security](https://www.baeldung.com/spring-security-integrate-passkeys) - Learn how to use Passkeys in a Spring Boot Web application, including the Spring Security setup and adding key persistence support for real-world applications.
- [Introduction to J2CL](https://www.baeldung.com/java-j2cl-intro) - Explore how to set up a J2CL project with Maven, customize a simple web page, and implement a Task Manager App using Java and JavaScript.
- [Implementing the Core Services of Spring Authorization Server with Redis](https://www.baeldung.com/spring-authorization-server-redis) - Explore how we can implement the Core Services of Spring Authorization Service with Redis
- [Using a Different Client Certificate per Connection in Java](https://www.baeldung.com/java-ssl-multiple-client-certificates) - We can customize Java's SSLContext to use different client certificates based on the target server. To create the needed KeyManager and TrustManager, we can use libraries like Apache HttpComponents help or we can stick with pure Java.
- [Inline Images in Email Using Java Mail](https://www.baeldung.com/java-mail-inline-images) - Learn how to send an email with an inlined image by defining multiple parts in the email.
- [Introduction to Netty-socketio](https://www.baeldung.com/netty-socketio) - Learn how to use the Netty-socketio library to build a Socket.IO service in Java.
- [Using HTTPS With Jersey Client in Java](https://www.baeldung.com/java-https-jersey-client) - Configuring Java clients for HTTPS or for mTLS can be tricky. It's tempting to add some kind of trust-all-certs solution and call it good. Fortunately there are Java libraries like Jersey that can help us make the right decisions.
- [Getting the List of All Keys Under a JSONObject Using GSON](https://www.baeldung.com/java-gson-list-all-keys-under-jsonobject) - Build a simple recursive utility to extract all keys from a JsonObject using GSON
- [Post Data Into Website Using Jsoup in Java](https://www.baeldung.com/java-post-data-into-website-jsoup) - Learn how we can send a POST request using Jsoup.
- [What Can an Object[] Array Hold in Java?](https://www.baeldung.com/java-object-array) - Learn what an Object[] Array can hold in Java.
- [Different Ways to Get Servlet Context](https://www.baeldung.com/java-servlet-context) - Learn different ways to retrieve the ServletContext from a Servlet.
- [Preventing Jackson From Fetching Lazy Entity Fields](https://www.baeldung.com/jackson-lazy-entity-field-serialization) - Working with JPA and Jackson often raises the challenge of serializing entities that contain lazy-loaded associations. This tutorial shows how to prevent Jackson from triggering unwanted database queries when lazy fields are uninitialized; we'll look at DTOs, annotations, and Jackson's own jackson-datatype-hibernate6 module.
- [JFR View Command in Java](https://www.baeldung.com/java-flight-recorder-view) - A quick tutorial on the Java Flight Recorder view command, available in Java 21.
- [Using Java Flight Recorder (JFR) in Quarkus](https://www.baeldung.com/java-flight-recorder-quarkus-setup-custom-events) - Learn how to set up JFR in a Quarkus project, generate custom events, and analyze the data to diagnose potential issues effectively.
- [Web Crawler Using WebMagic](https://www.baeldung.com/java-webmagic-web-crawler) - Explore WebMagic, its architecture, and setup details.
- [Java Weekly, Issue 614](https://www.baeldung.com/java-weekly-614) - Let's explore the shift to RestClient in Spring, along with the latest updates in JDK 25, Hibernate, and recent releases from PostgreSQL and Micronaut. We'll also dig into why developer experience is more valuable than ever in the age of AI and the professional challenges of saying "no." Good stuff.
- [JFR Event to Detect Invocations of Deprecated Methods in Java](https://www.baeldung.com/java-jfr-detect-deprecated-methods) - Explore how to use JFR to detect invocations of deprecated JDK methods, and scenarios where such events are not captured
- [Configuring Multiple LLMs in Spring AI](https://www.baeldung.com/spring-ai-configure-multiple-llms) - Explore integrating multiple LLMs within a single Spring AI application
- [Spring Boot Tutorial - Bootstrap a Simple Application](https://www.baeldung.com/spring-boot-start) - This is how you start understanding Spring Boot.
- [Google Cloud and Spring AI](https://www.baeldung.com/spring-ai-google-cloud) - Explore how we could integrate Spring AI with the Google Cloud Vertex AI platform and adopt various models to provide chat and embedding capabilities in our applications.
- [Optimizing Spring Integration Tests at Scale](https://www.baeldung.com/spring-integration-test-optimize) - Learn how the Spring Test framework works under the hood, why it can be slow and consume a lot of resources, and how to boost the performance.
- [Introduction to RDF and Apache Jena](https://www.baeldung.com/apache-jena-resource-description-framework) - A quick tutorial on using the Resource Description Framework with Apache Jena in Java.
- [Lombok @Data and Final Fields: Solving the "Default Constructor in Base Class" Error](https://www.baeldung.com/java-lombok-default-constructor-in-base-class-error) - Explore why Lombok shows the “lombok needs a default constructor in the base class” error when a subclass uses @Data and simple fixes, like adding a default constructor, using @NoArgsConstructor(force = true), or switching to targeted Lombok annotations
- [A Practical Guide to Null-Safety in Java With JSpecify](https://www.baeldung.com/java-jspecify-null-safety) - Explore the JSpecify tool that helps developers get rid of null-related errors to a great degree.
- [Parallel Flux vs Flux in Project Reactor](https://www.baeldung.com/reactor-flux-vs-parallel-flux) - Learn about the key differences between Flux and ParallelFlux and how to leverage the CPU effectively when working with reactive streams.
- [Fixing HibernateException: Illegal Attempt to Associate a Collection With Two Open Sessions](https://www.baeldung.com/hibernate-illegal-attempt-collection-sessions) - Examine the root cause of the Hibernate Exception: "Illegal attempt to associate a collection with two open sessions." and how to fix it.
- [Google Protobuf ByteString vs. Byte[]](https://www.baeldung.com/google-protobuf-bytestring-vs-byte) - Discover the differences and similarities between Protobuf ByteString and Byte[]
- [Function Pointers Equivalent in Java](https://www.baeldung.com/java-function-pointers) - Java doesn't have function pointers, but we can achieve the same behaviour using other techniques.
- [Different Log Level for File and Console Appender in Spring Boot](https://www.baeldung.com/spring-boot-different-log-level-file-console-appender) - Discover about log levels for FILE and CONSOLE appenders using Logback in Spring Boot.
- [Multiple Databases With Flyway in Spring Boot](https://www.baeldung.com/spring-boot-flyway-multiple-databases) - Learn how to configure Spring Boot with two databases, manage Flyway migrations independently for each, and validate the setup using unit tests.
- [Java Reflection Beans Property API](https://www.baeldung.com/java-reflection-beanutils-propertydescriptor) - Explore Java Reflections Beans Property API in detail.
- [DataLoader for Batch Processing](https://www.baeldung.com/java-dataloader-batching) - A quick tutorial on using DataLoader to batch database calls in Java.
- [Mocking Logger and LoggerFactory](https://www.baeldung.com/java-junit-mock-logger-loggerfactory) - Learn how to mock Logger and LoggerFactory when testing using Mockito.
- [Deserialize to a Map with Correct Type for Each Value](https://www.baeldung.com/java-json-map-with-correct-types) - Learn how to properly deserialize JSON data while preserving the original data types of each field using several different approaches
- [Difference Between @Size, @Length, and @Column(length=value)](https://www.baeldung.com/jpa-size-length-column-differences) - @Size, @Length, and @Column(length) each have their different uses on a Java POJO. Learn what they are.
- [Securing Spring AI MCP Servers With OAuth2](https://www.baeldung.com/spring-ai-mcp-servers-oauth2) - Learn how to secure an MCP server using OAuth2 in a Spring AI application.
- [Exploring Model Context Protocol (MCP) With Spring AI](https://www.baeldung.com/spring-ai-model-context-protocol-mcp) - Learn about how to use the Model Context Protocol when integrating with LLMs using Spring AI.
- [How to Get JSON Response With Selenium](https://www.baeldung.com/selenium-json-response) - Learn how to use Selenium and Java to capture and work with JSON responses that appear directly within the HTML code of query pages.
- [IntelliJ IDEA vs Eclipse - Key Feature Differences](https://www.baeldung.com/java-intellij-idea-vs-eclipse) - Explore the differences between IntelliJ IDEA and Eclipse based on key aspects that matter most to developers.
- [How to Disable IPV6 in Java?](https://www.baeldung.com/java-disable-ipv6) - Explore various ways to disable IPv6 in Java.
- [Create a RAG (Retrieval Augmented Generation) Application with Redis and Spring AI](https://www.baeldung.com/spring-ai-redis-rag-app) - Learn how to create a RAG (Retrieval Augmented Generation) Application with Redis and Spring AI.
- [Using Oracle Vector Database With Spring AI](https://www.baeldung.com/spring-ai-oracle-vector-database) - Learn how to integrate the Oracle vector database with Spring AI to find semantically related content.
- [Testing LLM Responses Using Spring AI Evaluators](https://www.baeldung.com/spring-ai-testing-ai-evaluators) - Learn how to use Spring AI Evaluators to check the relevance and factual accuracy of LLM responses.
- [Implementing an AI Assistant with Spring AI](https://www.baeldung.com/spring-ai-assistant) - Explore the key Spring AI features that can help create an AI assistant.
- [Java Weekly, Issue 613](https://www.baeldung.com/java-weekly-613) - Now that Java 25 is out, let's turn our view towards Spring 7 and Boot 4. Nuff said.
- [Guide to java.lang.ProcessBuilder API](https://www.baeldung.com/java-lang-processbuilder-api) - An in-depth look at using the ProcessBuilder API to manipulate OS processes
- [Count the Number of Times a Sequence Occurs in a Java String](https://www.baeldung.com/java-string-count-occurences-of-sequence) - Explore multiple ways to count the number of times a sequence occurs in a Java String
- [A Custom Security Expression with Spring Security](https://www.baeldung.com/spring-security-create-new-custom-security-expression) - A guide to creating a new, custom security expression with Spring Security, and then using the new expression with the Pre and Post authorize annotations.
- [Ternary Operator in Java](https://www.baeldung.com/java-ternary-operator) - Learn about the ternary operator ?:, which allows us to define conditional expressions in Java.
- [Time Complexity of Java Collections](https://www.baeldung.com/java-collections-complexity) - Learn about the time complexity for common operations on Java collections
- [Reading PDF File Using Java](https://www.baeldung.com/java-pdf-file-read) - Learn two different ways of reading PDF files in Java using the popular Apache PDFBox and iText libraries.
- [Truncate a Double to Two Decimal Places in Java](https://www.baeldung.com/java-double-round-two-decimal-places) - Learn to truncate a double to two decimal places in Java.
- [Docker Compose Support in Spring Boot](https://www.baeldung.com/docker-compose-support-spring-boot) - Learn about the new Docker Compose support in Spring Boot 3.1.0.
- [Preconditions in Liquibase](https://www.baeldung.com/liquibase-preconditions) - Learn how to use preconditions in Liquibase to optimize changeset control.
- [Check Component Vulnerabilities Using OWASP Dependency-Check](https://www.baeldung.com/java-maven-owasp-dependency-check) - Learn about OWASP Dependency-Check, a Maven plugin that can help us identify known vulnerabilities in our application
- [How to Round a Number to N Decimal Places in Java](https://www.baeldung.com/java-round-decimal-number) - Overview of several ways of handling the common problem of rounding a decimal number in Java
- [Intro to @ClassTemplate Annotation in JUnit](https://www.baeldung.com/java-junit-classtemplate) - Learn how to use the ClassTemplate annotation in Junit 5 to run the same test class in multiple contexts.
- [Enable HTTP2 with Tomcat in Spring Boot](https://www.baeldung.com/spring-boot-http2-tomcat) - Learn how to configure your Spring Boot application to enable HTTP/2 on an embedded Tomcat server.
- [Sorting with JPA](https://www.baeldung.com/jpa-sort) - How to Sort in JPA using JQL or the Criteria API.
- [Spring Bean Annotations](https://www.baeldung.com/spring-bean-annotations) - Learn how and when to use the standard Spring bean annotations - @Component, @Repository, @Service and @Controller.
- [TLS Setup in Spring](https://www.baeldung.com/spring-tls-setup) - Learn how to set up TLS in Spring.
- [@PropertySource with YAML Files in Spring Boot](https://www.baeldung.com/spring-yaml-propertysource) - A quick and practical guide to handling YAML files with @PropertySource in Spring Boot.
- [Spring Boot Reactor Netty Configuration](https://www.baeldung.com/spring-boot-reactor-netty) - Learn about different configuration options for a Reactor Netty server in a Spring Boot application
- [The Registration Process With Spring Security](https://www.baeldung.com/registration-with-spring-mvc-and-spring-security) - Implement a full registration with Spring Security and Spring MVC.
- [Java Weekly, Issue 612](https://www.baeldung.com/java-weekly-612) - AN interesting and insightful take on the modern use of passkeys, and vulnerability detection in IntelliJ IDEA.
- [Elasticsearch Query With “Not Contains”](https://www.baeldung.com/elasticsearch-query-not-contains) - Learn how to filter by “Not Contains” in ElastiSearch
- [Unit Tests for Concurrent Java with VMLens](https://www.baeldung.com/java-vmlens-unit-tests) - Explore the functionality of the VMLens.
- [Introduction to Quarkus Infinispan Embedded Extension](https://www.baeldung.com/quarkus-infinispan-extension) - Learn about Infinispan, an in-memory key/value data store, and find out how to use it in an embedded mode inside Quarkus applications.
- [Streaming Real-Time Log to Splunk From Spring Boot](https://www.baeldung.com/spring-boot-streaming-real-time-log-splunk) - Tired of sifting through endless log files? This tutorial dives into seamlessly integrating Splunk, a powerful monitoring tool, with your Spring Boot application to achieve real-time log streaming.
- [Running Spring Boot Applications with the Embedded Camunda Engine](https://www.baeldung.com/spring-boot-embedded-camunda) - Learn how to leverage the embedded Camunda engine into the Spring Boot application.
- [Business Process Automation with Kogito](https://www.baeldung.com/java-kogito) - Explore creating cloud-native business applications using Kogito as an automation tool
- [Gradle JUnit Generate HTML Report](https://www.baeldung.com/java-gradle-junit-generate-html-report) - Learn how to generate JUnit HTML reports in both single-module and multi-module Gradle projects.
- [Java Reporting Tools: a Comparison](https://www.baeldung.com/java-reporting-tools-comparison) - There are several reporting solutions for Java. In this article, we compare the most popular.
- [Intro to Code Quality Rules with FindBugs and PMD](https://www.baeldung.com/code-quality-metrics) - A quick and practical guide to static analysis' code quality rules
- [Introduction to Javatuples](https://www.baeldung.com/java-tuples) - Learn how to use javatuples library that provides elegant semantics for working with tuples.
- [Finding the Square Root of a BigInteger in Java](https://www.baeldung.com/java-find-square-root-biginteger) - Learn three approaches to calculating the square root of a big number in Java.
- [How to Return Multiple Values From a Java Method](https://www.baeldung.com/java-method-return-multiple-values) - Some programming languages provide easy ways to return multiple values from a method. In Java, there are a few similar options, depending on the types.
- [Introduction to Redpanda](https://www.baeldung.com/redpanda) - Discover Redpanda, a powerful event streaming platform and one of Kafka's competitors.
- [SEDA With Spring Integration and Apache Camel](https://www.baeldung.com/spring-apache-camel-seda-integration) - Learn about Staged Event-Driven Architecture (SEDA) using Spring Integration and Apache Camel.
- [OAuth2 - @EnableResourceServer vs @EnableOAuth2Sso](https://www.baeldung.com/spring-security-oauth2-enable-resource-server-vs-enable-oauth2-sso) - Learn how to set up an OAuth2 Client and Resource Server using Spring's @EnableResourceServer and @EnableOAuth2Sso annotations.
- [A Guide to the Axon Framework](https://www.baeldung.com/axon-cqrs-event-sourcing) - An intro to the Axon framework (v4) by building a simple CQRS and Event Sourcing example application.
- [Apache Camel's KServe Component: Inference via Model Serving](https://www.baeldung.com/java-apache-camel-kserve) - Learn how to create a Java application with AI model inference using Apache Camel's KServe component
- [Apply CQRS to a Spring REST API](https://www.baeldung.com/cqrs-for-a-spring-rest-api) - Learn how to start moving an existing Spring REST API towards a CQRS-centric architecture.
- [Overview of AI Libraries in Java](https://www.baeldung.com/java-ai) - A short overview of Artificial Intelligence libraries in Java.
- [Leveraging Quarkus and LangChain4j](https://www.baeldung.com/java-quarkus-langchain4j) - Learn how combination of Quarkus and LangChain4J brings efficiency to the table for the development of AI systems using Java.
- [How to Find an Element in a List with Java](https://www.baeldung.com/find-list-element-java) - Have a look at some quick ways to find an element in a list in Java
- [Check if Two Integers Have the Same Sign](https://www.baeldung.com/java-two-integers-same-sign) - Explore different ways to check if two integers have the same sign in Java.
- [How To Manage Timeout for CompletableFuture](https://www.baeldung.com/java-completablefuture-timeout) - Explore different ways to manage timeouts with Java CompletableFuture.
- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) - Learn how to use the Thread.join() methods for thread synchronization.
- [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) - Learn about the Java volatile keyword and its capabilities. 
- [Guide to the Synchronized Keyword in Java](https://www.baeldung.com/java-synchronized) - This article discusses thread synchronization of methods, static methods, and instances in Java.
- [Guide To CompletableFuture](https://www.baeldung.com/java-completablefuture) - Quick and practical guide to Java 8's CompletableFuture.
- [A Guide to the Java ExecutorService](https://www.baeldung.com/java-executor-service-tutorial) - An intro and guide to the ExecutorService framework provided by the JDK - which simplifies the execution of tasks in asynchronous mode.
- [Custom Protocol Mapper with Keycloak](https://www.baeldung.com/keycloak-custom-protocol-mapper) - A quick and practical guide to using custom protocol mappers with Keycloak.
- [Spring Boot Logback and Log4j2 Extensions](https://www.baeldung.com/spring-boot-logback-log4j2) - A quick and practical guide to Spring Boot and its logging extensions.
- [Introduction to Liquibase Rollback](https://www.baeldung.com/liquibase-rollback) - Learn how to use the rollback feature of a Liquibase framework.
- [Stream Gatherers in Java](https://www.baeldung.com/java-stream-gatherers) - Learn about the Gatherer interface, understand the challenges it solves and the features it provides.
- [Using Spring @ResponseStatus to Set HTTP Status Code](https://www.baeldung.com/spring-response-status) - Have a look at the @ResponseStatus annotation and how to use it to set the response status code.
- [Spring Boot 4 & Spring Framework 7 - What's New](https://www.baeldung.com/spring-boot-4-spring-framework-7) - Discover what's new on Spring Boot and Spring Framework.
- [DAO vs Repository Patterns](https://www.baeldung.com/java-dao-vs-repository) - Understand the difference between the DAO and Repository patterns with a Java example.
- [A Comparison Between JPA and JDBC](https://www.baeldung.com/jpa-vs-jdbc) - Learn about the differences between JPA and JDBC.
- [Command-Line Arguments in Spring Boot](https://www.baeldung.com/spring-boot-command-line-arguments) - Learn how to pass arguments from command line into your Spring Boot application
- [The Difference Between Collection.stream().forEach() and Collection.forEach()](https://www.baeldung.com/java-collection-stream-foreach) - A quick and practical overview of the difference between Collection.stream().forEach() and Collection.forEach().
- [Format Swagger Text Descriptions](https://www.baeldung.com/swagger-format-descriptions) - A quick and practical guide to formatting Swagger descriptions.
- [Deserialize Generic Type with Jackson](https://www.baeldung.com/java-deserialize-generic-type-with-jackson) - Explore two simple ways to deserialize a JSON string into an object with a generic type.
- [Cucumber Hooks](https://www.baeldung.com/java-cucumber-hooks) - Learn about the @Before, @BeforeStep, @AfterStep, and @After Cucumber hooks
- [MD5 Hashing in Java](https://www.baeldung.com/java-md5) - A quick writeup show you how to deal with MD5 hashing in Java.
- [Introduction to OSGi](https://www.baeldung.com/osgi) - A quick and practical introduction to OSGi - a Java-based component system.
- [ZoneOffset in Java](https://www.baeldung.com/java-zone-offset) - A quick tutorial to dealing with ZoneOffset and ZoneId in Java.
- [Authorize Request for Certain URL and HTTP Method in Spring Security](https://www.baeldung.com/spring-security-url-http-authorization) - Explore how to authorize requests for specific URLs and HTTP methods using Spring Security.
- [How to Resolve "Could Not Autowire org.springframework.mail.javamail.JavaMailSender"](https://www.baeldung.com/java-mail-sender-bean-missing) - A quick tutorial on fixing Spring Bean issues with the JavaMailSender bean missing from the context.
- [Transactional Messaging for Microservices Using Eventuate Tram](https://www.baeldung.com/eventuate-tram-transactional-messaging) - It's challenging to maintain data consistency between database operations and messaging. We can make it simpler with the transactional outbox pattern and Eventuate Tram.
- [Building Open API Documentation Using YML File in Resources Folder](https://www.baeldung.com/open-api-documentation-yml-file) - Learn how to generate a Swagger UI for REST endpoints using a YML file.
- [One Reader with Multiple Processors and Writers in Spring Batch](https://www.baeldung.com/spring-batch-one-reader-multiple-processors-writers) - Learn how to configure a Spring Batch job using a single reader but multiple processors and writers.
- [Introduction to DiceDB](https://www.baeldung.com/dicedb-intro) - Learn how to establish a connection to a DiceDB instance and perform basic CRUD operations.
- [How to Fix Unknown Magic Byte Errors in Apache Kafka](https://www.baeldung.com/kafka-fix-unknown-magic-byte-errors) - "Unknown magic byte" error and other deserialization issues can arise when consuming Avro messages in Kafka. Spring Kafka's ErrorHandlingDeserializer and publishing to a DLQ topic can help manage poison pill messages like these, ensuring the consumer continues processing without getting stuck.
- [Add BigDecimals using the Stream API](https://www.baeldung.com/java-stream-add-bigdecimals) - While the streams API provides a useful way to calculate the sum of some numeric types, BigDecimal is not support. Here we learn how to calculate sums with reduce.
- [Conditional Flow in Spring Batch](https://www.baeldung.com/spring-batch-conditional-flow) - Learn how to create Spring Batch jobs with conditional flow.
- [Checksums in Java](https://www.baeldung.com/java-checksums) - Learn how to create checksums in Java
- [HTTP/2 in Jetty](https://www.baeldung.com/jetty-http-2) - Learn how to configure a Jetty server-side application with HTTP/2 Push support.
- [Introduction to DBUnit](https://www.baeldung.com/java-dbunit) - Learn how to set up database states for your unit tests using DBunit.
- [Handling java.net.ConnectException](https://www.baeldung.com/java-net-connectexception) - Learn how to handle java.net.ConnectException
- [The Map.computeIfAbsent() Method](https://www.baeldung.com/java-map-computeifabsent) - Learn the intricacies of the Map.computeIfAbsent method.
- [Hibernate Error "No Persistence Provider for EntityManager"](https://www.baeldung.com/hibernate-no-persistence-provider) - A quick explanation and solution for the "No Persistence Provider for EntityManager" error.
- [Using a List of Values in a JdbcTemplate IN Clause](https://www.baeldung.com/spring-jdbctemplate-in-list) - Learn how to pass a list of values into the IN clause of a Spring JDBC template query
- [Guide to AtomicStampedReference in Java](https://www.baeldung.com/java-atomicstampedreference) - Learn how to use the AtomicStampedReference class in Java.
- [Encode a String to UTF-8 in Java](https://www.baeldung.com/java-string-encode-utf-8) - Learn how to encode a Java String to the UTF-8 character set.
- [Consume a SOAP Web Service in Java](https://www.baeldung.com/java-soap-web-service) - Learn how to build a SOAP client in Java with JAX-WS RI.
- [Mapping Lists with ModelMapper](https://www.baeldung.com/java-modelmapper-lists) - Learn how to map lists of different element types using Model Mapper.
- [Concurrent Test Execution in Spring](https://www.baeldung.com/spring-5-concurrent-tests) - An quick example of concurrent test execution in Spring 5.
- [How to Tear Down or Empty HSQLDB Database After Test](https://www.baeldung.com/java-hsqldb-tear-down) - Learn how to test with HSQLDB in isolation by tearing down or emptying the database each time a test is run.
- [Implement Unit Test in gRPC Service](https://www.baeldung.com/java-unit-tests-grpc-service) - Learn how to implement a gRPC service in Java using the .proto file.
- [Extracting Structured Data From Images Using Spring AI](https://www.baeldung.com/spring-ai-extract-data-from-images) - Build a web service that accepts an uploaded image, passes it to the OpenAI chat model for image analysis, and returns a structured output with relevant information.
- [A Guide to Structured Output in Spring AI](https://www.baeldung.com/spring-artificial-intelligence-structure-output) - Learn how to work with large language models (LLMs) to generate structured responses with Spring AI.
- [Function Calling in Java and Spring AI Using the Mistral AI API](https://www.baeldung.com/spring-ai-mistral-api-function-calling) - Discover what function calling is and how to implement it with Spring AI using Mistral AI API.
- [Create a ChatGPT Like Chatbot With Ollama and Spring AI](https://www.baeldung.com/spring-ai-ollama-chatgpt-like-chatbot) - Explore building a simple help desk Agent API using Spring AI and Meta's llama3 via the Ollama library.
- [A Guide to Spring AI Advisors](https://www.baeldung.com/spring-ai-advisors) - Learn about Spring AI Advisors and how this feature helps us develop AI-powered applications.
- [Spring AI With ChromaDB Vector Store](https://www.baeldung.com/spring-ai-chromadb-vector-store) - Learn how to integrate ChromaDB, an open-source vector store, with Spring AI.
- [Introduction to Spring AI](https://www.baeldung.com/spring-ai) - Learn the fundamentals of using generative AI in Spring Boot applications and understand the essential AI concepts.
- [Using Anthropic's Claude Models With Spring AI](https://www.baeldung.com/spring-ai-anthropics-claude-models) - Explore how to use Anthropic's Claude models with Spring AI by building a simple chatbot capable of understanding textual and visual inputs and engaging in multi-turn conversations.
- [Using Hugging Face Models With Spring AI and Ollama](https://www.baeldung.com/spring-ai-ollama-hugging-face-models) - Explore how to use Hugging Face models with Spring AI and Ollama by building a simple chatbot using a chat completion model and implement semantic search using an embedding model.
- [Using Amazon Nova Models With Spring AI](https://www.baeldung.com/spring-ai-amazon-nova) - Learn how to use Amazon Nova understanding models with Spring AI to build a simple textual and visual input chatbot.
- [Implementing Semantic Search Using Spring AI and PGVector](https://www.baeldung.com/spring-ai-pgvector-semantic-search) - Searching is a fundamental concept in software, aimed at finding relevant information in a large dataset. Let's see how Spring AI, PGVector, and Ollama can work together to implement semantic search in our applications.
- [Building an AI Chatbot Using DeepSeek Models With Spring AI](https://www.baeldung.com/spring-ai-deepseek-cot) - Learn how to use DeepSeek Models with Spring AI to build a Chain of Thought chatbot.
- [Transcribing Audio Files With OpenAI in Spring AI](https://www.baeldung.com/spring-ai-transcribing-audio-files) - Explore transcribing audio files with OpenAI in Spring AI.
- [A Guide to OpenAI Text-to-Speech (TTS) in Spring AI](https://www.baeldung.com/spring-ai-openai-tts) - Learn how to use OpenAI Text-to-Speech with Spring AI.
- [A Guide to Embeddings Model API in Spring AI](https://www.baeldung.com/spring-ai-embeddings-model-api) - The embeddings model API in Spring AI provides the abstraction layer and support for model providers like OpenAI, enabling us to incorporate it into our Java applications.
- [Text-to-SQL Implementation Using Spring AI](https://www.baeldung.com/spring-ai-text-to-sql) - Learn how to use an LLM with Spring AI to translate a natural language query into executable SQL.
- [Using Groq Chat with Spring AI](https://www.baeldung.com/spring-ai-groq-chat) - Explore the integration of the Groq inference engine with Spring AI's OpenAI library.
- [Fast Pattern Matching of Strings Using Suffix Tree in Java](https://www.baeldung.com/java-pattern-matching-suffix-tree) - Learn about pattern matching of strings and how we can make it faster using a suffix tree
- [Testing Spring Boot @ConfigurationProperties](https://www.baeldung.com/spring-boot-testing-configurationproperties) - Learn how to test configuration classes in Spring Boot that rely on the @ConfigurationProperties annotation.
- [How to Use Regular Expressions to Replace Tokens in Strings in Java](https://www.baeldung.com/java-regex-token-replacement) - Learn some regular expression strategies for replacing tokens in strings
- [Guide to the Java Authentication And Authorization Service (JAAS)](https://www.baeldung.com/java-authentication-authorization-service) - Learn about the JAAS security framework that augments the security model from code-based security to user-based security
- [IntelliJ - Cannot Resolve Spring Boot Configuration Properties Error](https://www.baeldung.com/intellij-resolve-spring-boot-configuration-properties) - IntelliJ can provide autocomplete and context help for custom properties, but we need to make some additional configuration to our project to enable that.
- [L-Trim and R-Trim Alternatives in Java](https://www.baeldung.com/java-trim-alternatives) - Learn several methods how to achieve l-trim and r-trim in java.
- [Introduction to Alibaba Arthas](https://www.baeldung.com/java-alibaba-arthas-intro) - Learn how to monitor, profile, and troubleshoot our Java applications using Alibaba Arthas.
- [Prevent ApplicationRunner or CommandLineRunner Beans From Executing During Junit Testing](https://www.baeldung.com/spring-junit-prevent-runner-beans-testing-execution) - Learn how to prevent ApplicationRunner or CommandLineRunner beans from executing during JUnit tests.
- [How to Determine Day of Week by Passing Specific Date in Java?](https://www.baeldung.com/java-get-day-of-week) - A quick and practical guide to determining the day of the week in Java.
- [TupleTransformer and ResultListTransformer in Hibernate](https://www.baeldung.com/hibernate-tupletransformer-resultlisttransformer) - While JPQL projections solve many cases, sometimes we need more flexibility, like mapping complex DTOs, restructuring query results, or post-processing the entire result set. Hibernate's former answer for this is ResultTransformer. Hibernate 6, however, replaces it with two new interfaces. This article shows how to work with TupleTransformer for row-level transformations and ResultListTransformer for list-level processing.
- [Run Code Before All Tests in All Classes in JUnit 5](https://www.baeldung.com/java-junit5-run-before-all-classes) - Explore how to execute setup code once before all tests across multiple classes in JUnit 5.
- [Build Stateful Custom Bean Validation with Spring Boot](https://www.baeldung.com/spring-custom-stateful-bean-validation) - A quick tutorial on custom, stateful bean validations with the built-in validator in Spring Boot.
- [Custom ObjectMapper with Jersey and Jackson](https://www.baeldung.com/java-jersey-jackson-objectmapper) - Explore how to create and configure a custom ObjectMapper for Jersey applications using Jackson.
- [Java Weekly, Issue 611](https://www.baeldung.com/java-weekly-611) - AN interesting and insightful take on the modern use of passkeys, and vulnerability detection in IntelliJ IDEA.
- [A Guide to Creating Objects in Java](https://www.baeldung.com/java-initialization) - Take a look at the different ways to initialize primitives and objects in Java.
- [How to Handle InterruptedException in Java](https://www.baeldung.com/java-interrupted-exception) - Learn about Java's InterruptedException, what causes it, and how to handle it.
- [Implementing a Simple Rule Engine in Java](https://www.baeldung.com/spring-spel-implement-simple-rule-engine) - Build a simple rule engine using Spring Expression Language (SpEL) and then a POJO-based approach.
- [How to Reduce Spring Boot Memory Usage?](https://www.baeldung.com/spring-boot-memory-usage-optimization) - Learn how to optimize memory usage of Spring Boot apps.
- [How to Use ParameterizedTypeReference in Java](https://www.baeldung.com/spring-parameterized-type-reference) - A quick tutorial for using ParameterizedTypeReference with Spring HTTP clients to deserialize generic types in Java.
- [How to Avoid Busy-Waiting in Java](https://www.baeldung.com/java-busy-waiting-alternatives) - Learn about what busy-waiting is and some alternatives in Java.
- [Enable Logging for Spring Security](https://www.baeldung.com/spring-security-enable-logging) - Leran how to modify the Spring Security logging level
- [Error: "trustAnchors parameter must be non-empty"](https://www.baeldung.com/java-trustanchors-parameter-must-be-non-empty) - Learn the reasons for the error: "java.security.InvalidAlgorithmParameterException: trustAnchors parameter must be non-empty" and how to fix it
- [Convert Long to String in Java](https://www.baeldung.com/java-long-to-string) - A quick and practical overview of converting Long to String in Java.
- [Resilience4j Events Endpoints](https://www.baeldung.com/resilience4j-events-endpoints) - A quick and practical guide to Resilience4j events and endpoints for listing them in SpringBoot applications.
- [Java String.format()](https://www.baeldung.com/string-format) - A quick example and explanation of the format API of the standard String class in Java.
- [Java Weekly, Issue 610](https://www.baeldung.com/java-weekly-610) - AN interesting and insightful take on the modern use of passkeys, and vulnerability detection in IntelliJ IDEA.
- [Read StringBuilder Line by Line in Java](https://www.baeldung.com/java-stringbuilder-read-line-by-line) - Learn different methods to read a StringBuilder instance line by line and understand their advantages and drawbacks.
- [Introduction to SLF4J](https://www.baeldung.com/slf4j-with-log4j2-logback) - A quick and to the point guide of how to use Log4j2 and Logback with SLF4J, as well as how to bridge other logging APIs such as JCL to SLF4J
- [How to Handle Alerts and Popups in Selenium](https://www.baeldung.com/java-selenium-handle-alerts-popups) - Learn how to interact with browser alerts and popups when writing tests with Selenium.
- [Using StatelessSession in Hibernate](https://www.baeldung.com/hibernate-stateless-session) - Learn how to use the StatelessSession API in Hibernate to perform JPA read and write operations without the stateful features of a regular Session.
- [Introduction to jVector](https://www.baeldung.com/jvector-intro) - Explore the jVector library for efficient index construction from datasets and vector search.
- [Storing X and Y Coordinates in Java](https://www.baeldung.com/java-store-x-y-coordinates) - Explore options for storing coordinates in Java: records, POJOs, arrays, and the tradeoffs of each.
- [AI Image Generation With OpenAI DALL·E 3 in Java](https://www.baeldung.com/spring-ai-openai-dall-e-3) - Learn how to generate images with OpenAI's DALL·E 3 model using Spring AI.
- [Geospatial Operations Using JTS](https://www.baeldung.com/jts-geospatial-operations) - Discover how to develop apps with geospatial capabilities using JTS (Java Topology Suite).
- [CrudRepository, JpaRepository, and PagingAndSortingRepository in Spring Data](https://www.baeldung.com/spring-data-repositories) - Learn about the different flavours of repositories offered by Spring Data.
- [Kafka Producer and Consumer Message Acknowledgement Options](https://www.baeldung.com/kafka-message-acknowledgement-options) - Learn how to use message acknowledgement options to control reliability guarantees for Kafka consumers and producers in Java.
- [Guide to Prometheus Java Client](https://www.baeldung.com/java-prometheus-client) - Learn how to effectively use the Prometheus Java client to monitor applications by instrumenting custom and JVM metrics.
- [Introduction To Apache Camel](https://www.baeldung.com/apache-camel-intro) - A quick and practical guide to Apache Camel
- [The Modulo Operator in Java](https://www.baeldung.com/modulo-java) - Learn about use cases for the modulo operator in Java.
- [Restart a Job on Failure and Continue in Spring Batch](https://www.baeldung.com/spring-batch-restart-job-failure-continue) - Learn how to configure and restart a failed Spring Batch job effectively.
- [Should Jackson's ObjectMapper be Declared as a Static Field?](https://www.baeldung.com/java-jackson-objectmapper-static-field) - Explore the trade‑offs and Jackson’s real thread‑safety guarantees.
- [Introduction to Jimmer ORM](https://www.baeldung.com/jimmer-orm-intro) - Get started with the Jimmer ORM framework.
- [LIKE Queries in Spring JPA Repositories](https://www.baeldung.com/spring-jpa-like-queries) - Learn how to create LIKE queries in Spring JPA Repositories.
- [Maven dependencyManagement vs. dependencies Tags](https://www.baeldung.com/maven-dependencymanagement-vs-dependencies-tags) - Learn the similarities and differences of Maven's dependencyManagement and dependencies tags
- [A Guide to Maven Artifact Classifiers](https://www.baeldung.com/maven-artifact-classifiers) - Learn about artifact classifiers in Maven and understand the various scenarios where they are useful.
- [Convert a Comma Separated String to a List in Java](https://www.baeldung.com/java-string-with-separator-to-list) - Discover how to convert a comma separated string of integers or strings to a list in Java.
- [Copy a List to Another List in Java](https://www.baeldung.com/java-copy-list-to-another) - Explore different ways to copy a List to another List in Java and a common error produced in the process.
- [How to Separate Paragraphs in Javadocs](https://www.baeldung.com/javadoc-paragraphs) - A quick tutorial on creating distinct paragraphs in Javadoc documentation.
- [Hibernate ORM With Panache](https://www.baeldung.com/java-hibernate-panache) - Explore the Panache extension in Quarkus and how it simplifies managing Hibernate entities.
- [REST with Spring Series](https://www.baeldung.com/rest-with-spring-series) - Step by step tutorial on building a REST API with Spring (and securing it with Spring Security).
- [Using JWT with Spring Security OAuth](https://www.baeldung.com/spring-security-oauth-jwt) - A guide to using JWT tokens with Spring Security 5.
- [Intro to Log4j2 - Appenders, Layouts and Filters](https://www.baeldung.com/log4j2-appenders-layouts-filters) - This article, using an example rich approach, introduces Log4J 2 Appender, Layout and Filter concepts
- [Quick Guide to the Java Stack](https://www.baeldung.com/java-stack) - A quick and practical guide to common operations of the java.util.Stack.
- [A Quick Look at R2DBC With Spring Data](https://www.baeldung.com/spring-data-r2dbc) - Explore R2DBC in its early stage.
- [Introduction to Retrofit](https://www.baeldung.com/retrofit) - Discover Retrofit - a type-safe HTTP client for Android and Java.
- [A Guide to EnumMap](https://www.baeldung.com/java-enum-map) - Learn why if you aren't yet using EnumMap, you should be.
- [A Guide to Java Sockets](https://www.baeldung.com/a-guide-to-java-sockets) - This tutorial introduces Java sockets programming over TCP/IP with an actual Client/Server application.
- [Guide to hashCode() in Java](https://www.baeldung.com/java-hashcode) - Learn how hashCode() works and how to implement it correctly.
- [Guide To Solr in Java With Apache SolrJ](https://www.baeldung.com/apache-solrj) - A quick and practical guide on interacting with an Apache Solr server in Java using the Solr4J library.
- [REST API Discoverability and HATEOAS](https://www.baeldung.com/restful-web-service-discoverability) - HATEOAS and Discoverability of a REST Service - driven by tests.
- [An Intro to Spring HATEOAS](https://www.baeldung.com/spring-hateoas-tutorial) - A quick intro to using Spring HATEOAS to add Hypermedia to a practical Spring API.
- [Creating a Web Application with Spring](https://www.baeldung.com/bootstraping-a-web-application-with-spring-and-java-based-configuration) - How to Bootstrap a Web Application with Spring and Java-based Configuration.
- [HATEOAS for a Spring REST Service](https://www.baeldung.com/rest-api-discoverability-with-spring) - Implementation of HATEOAS and Discoverability for a Spring REST API.
- [Test a REST API with Java](https://www.baeldung.com/integration-testing-a-rest-api) - How to test a REST Service with Java - integration testing using the Apache Http Client.
- [Spring's RequestBody and ResponseBody Annotations](https://www.baeldung.com/spring-request-response-body) - Learn about the Spring @RequestBody and @ResponseBody annotations.
- [Build a REST API with Spring and Java Config](https://www.baeldung.com/building-a-restful-web-service-with-spring-and-java-based-configuration) - Building a REST Service with Spring and Java based Configuration, HTTP response codes, REST payloads and marshalling, testing.
- [Java Weekly, Issue 609](https://www.baeldung.com/java-weekly-609) - The next generation of Spring is coming, as well as AI, more deeply and more easily integrated into our systems.
- [Printing Stack Values in Java](https://www.baeldung.com/java-printing-stack-values) - Explore different ways to print stack values, from the simplest to the most efficient approaches.
- [Query in DynamoDB on the Basis of Partition Key and Sort Key](https://www.baeldung.com/java-query-dynamodb-hashkey-range-key) - Learn how to query a table using just the Partition Key and how to enhance those queries by including the Range Key to filter results within a partition.
- [Modify Property Files in Java](https://www.baeldung.com/java-modify-property-files) - Learn how to modify Property files without losing any existing data using core Java APIs and Apache Commons.
- [How to Check if a Number Is the Sum of Two or More Consecutive Integers](https://www.baeldung.com/java-check-number-sum-consecutive-integers) - Learn how to determine whether a given number can be expressed as the sum of two or more consecutive integers.
- [@Expose vs @SerializedName Annotations in Gson](https://www.baeldung.com/gson-expose-vs-serializedname-annotations) - Learn about the differences between @Expose and @SerializedName annotations in Gson.
- [Collision Detection Between Two Images in Java](https://www.baeldung.com/java-image-collision-detection) - A quick tutorial on Java Swing and AWT image collision detection.
- [Generate a Unique Integer From a Unique String](https://www.baeldung.com/java-create-int-from-string) - Explore multiple solutions for generating a unique Integer from a unique String.
- [Converting a String to a SOAPMessage](https://www.baeldung.com/java-convert-string-soapmessage) - Learn how to convert a SOAP XML string into a Java SOAPMessage object.
- [Replace Specific Word From File With Java](https://www.baeldung.com/java-replace-specific-word-file) - Explore different ways to replace a specific word in a file with Java IO & NIO packages and Apache Commons.
- [Introduction to Open Liberty](https://www.baeldung.com/java-open-liberty) - Learn how to use the Open Liberty framework to create and consume a RESTful web service
- [Case-Insensitive String Matching in Java](https://www.baeldung.com/java-case-insensitive-string-matching) - Learn how to perform case-insensitive String matching in Java.
- [Breaking YAML Strings Over Multiple Lines](https://www.baeldung.com/yaml-multi-line) - Learn how to break YAML strings over multiple lines
- [Getting Started with CRaSH](https://www.baeldung.com/jvm-crash-shell) - A quick and practical guide to CRaSH.
- [Modifying the Response Body in a Zuul Filter](https://www.baeldung.com/zuul-filter-modifying-response-body) - Learn about the Netflix Zuul's post filter.
- [Introduction to the jcabi-aspects AOP Annotations Library](https://www.baeldung.com/java-jcabi-aspects) - Learn about the jcabi-aspects Java library, a collection of handy annotations that modify the behavior of Java application using aspect-oriented programming
- [Configuring Thread Pools for Java Web Servers](https://www.baeldung.com/java-web-thread-pool-config) - Learn how to configure thread pools on different java web application servers
- [Configuring Retry Logic in Spring Batch](https://www.baeldung.com/spring-batch-retry-logic) - Spring Batch allows us to set retry strategies on tasks so that they are automatically repeated when there is an error. Here we see how to configure it.
- [Asynchronous HTTP Programming with Play Framework](https://www.baeldung.com/java-play-asynchronous-http-programming) - The Play Framework provides an asynchronous HTTP client to make calls to web services in the background while doing other work. We explore how to use it.
- [Swagger @ApiParam vs @ApiModelProperty](https://www.baeldung.com/swagger-apiparam-vs-apimodelproperty) - Learn the difference between Swagger's @ApiParam and @ApiModelProperty
- [Check for null Before Calling Parse in Double.parseDouble](https://www.baeldung.com/java-check-null-parse-double) - Learn how to check for null before converting a string to a double using Double.parseDouble.
- [List All Redis Databases](https://www.baeldung.com/redis-list-all-databases) - Learn several ways to list all databases in a Redis instance.
- [Exponential Backoff With Spring AMQP](https://www.baeldung.com/spring-amqp-exponential-backoff) - Explore two different ways of implementing a message sending retry strategy named Exponential Backoff.
- [Converting Gradle Build File to Maven POM](https://www.baeldung.com/gradle-build-to-maven-pom) - Learn to convert a Gradle build file to a Maven pom.xml.
- [How to Unit Test MapStruct Generated Mappers](https://www.baeldung.com/mapstruct-generated-mappers-unit-test) - Learn how to write unit tests for classes with MapStruct-generated mappers.
- [Disable Spring Data Auto Configuration](https://www.baeldung.com/spring-data-disable-auto-config) - Learn the two ways to disable Spring Boot's auto-configuration for Spring Data
- [JPA CascadeType.REMOVE vs orphanRemoval](https://www.baeldung.com/jpa-cascade-remove-vs-orphanremoval) - Learn about the difference between JPA CascadeType.REMOVE and orphanRemoval for deleting entities.
- [An Introduction to ZGC: A Scalable and Experimental Low-Latency JVM Garbage Collector](https://www.baeldung.com/jvm-zgc-garbage-collector) - Explore how Z Garbage Collector manages to keep low pause times on even multi-terabyte heaps.
- [OpenJDK Project Loom](https://www.baeldung.com/openjdk-project-loom) - Learn about Project Loom's attempt to introduce a lightweight concurrency construct to Java
- [Does Spring @Transactional Annotation Work on a Private Method?](https://www.baeldung.com/spring-transactional-annotation-private-method) - Learn about whether the @Transactional annotation can be made to work on a private method in Spring.
- [A Practical Guide to RecordBuilder in Java](https://www.baeldung.com/java-recordbuilder) - Learn about the RecordBuilder library to enhance Java records with a builder pattern, bridging the gap between the elegance of immutability and the practicality of flexible construction.
- [Fix "Command Line is Too Long" in IntelliJ](https://www.baeldung.com/intellij-idea-command-line-is-too-long) - A quick and practical guide to solving the "Command Line is Too Long" issue in IntelliJ IDEA.
- [Exceptions in Java Lambda Expressions](https://www.baeldung.com/java-lambda-exceptions) - A quick and practical guide to dealing with Lambda Expressions and exceptions
- [Number of Digits in an Integer in Java](https://www.baeldung.com/java-number-of-digits-in-int) - Learn different ways of getting the number of digits in an Integer in Java.
- [How to Call Python From Java](https://www.baeldung.com/java-working-with-python) - Learn the most common ways of calling Python code from Java.
- [Named Placeholders in String Formatting](https://www.baeldung.com/java-string-formatting-named-placeholders) - Learn how to replace parameters in template-based strings from a set of values
- [Persist Quartz Scheduler in Database](https://www.baeldung.com/java-quartz-scheduler-persist-database) - Learn how Quartz handles persistence with its JDBC JobStore and how to achieve it with a custom approach.
- [Java Weekly, Issue 608](https://www.baeldung.com/java-weekly-608) - The next generation of Spring is coming, as well as AI, more deeply and more easily integrated into our systems.
- [Version Comparison in Java](https://www.baeldung.com/java-comparing-versions) - Explore a few ways to compare version strings in Java through various libraries
- [Get String Value From a Java Field via Reflection](https://www.baeldung.com/java-reflection-string-value-field) - Explore various methods for retrieving a String value from a Java field using reflection.
- [Fixing Hibernate AnnotationException: Field Is a @ManyToOne Association and May Not Use @Column](https://www.baeldung.com/hibernate-annotationexception-manytoone-column) - When using Hibernate, we can run into the Hibernate exception: "AnnotationException: field is a @ManyToOne association and may not use @Column to specify column mappings (use @JoinColumn instead)". Let's explore the root cause behind the exception and how to address it.
- [Secure Kafka With SASL/PLAIN Authentication](https://www.baeldung.com/kafka-authentication-sasl-plain) - Learn how to configure Spring Kafka and the Kafka broker using SASL/PLAIN authentication.
- [Convert JSON Object to JSON Array in Java](https://www.baeldung.com/java-json-object-array-conversion) - Explore ways to transform a JSON object to a JSON array using the most popular Java JSON libraries.
- [Creating an AI Agent in Java Using Embabel Agent Framework](https://www.baeldung.com/java-embabel-agent-framework) - Learn how to use the Embabel Agent Framework to create AI agents in Java.
- [Spring Boot Actuator](https://www.baeldung.com/spring-boot-actuators) - A quick intro to Spring Boot Actuators - using and extending the existing ones, configuration and rolling your own.
- [Logging in Spring Boot](https://www.baeldung.com/spring-boot-logging) - Learn how to easily configure the most popular logging solutions in a Spring Boot application.
- [Guide to @ConfigurationProperties in Spring Boot](https://www.baeldung.com/configuration-properties-in-spring-boot) - A quick and practical guide to @ConfigurationProperties annotation in Spring Boot.
- [Time Manipulation With Instant and Long](https://www.baeldung.com/java-time-instant-long) - Learn how to use long arithmetic for date and time in Java.
- [Command-Line Arguments in Java](https://www.baeldung.com/java-command-line-arguments) - Explore how to configure your Java applications using command-line arguments.
- [Setting Default Values to Null Fields in Jackson Mapping](https://www.baeldung.com/java-jackson-mapping-default-values-null-fields) - Explore three ways of dealing with missing or null values in JSON when parsing it with Jackson.
- [Spring JDBC](https://www.baeldung.com/spring-jdbc-jdbctemplate) - Introduction to the Spring JDBC abstraction, with example on how to use the JbdcTempalte and NamedParameterJdbcTemplate APIs.
- [Introduction to Spring Data JPA](https://www.baeldung.com/the-persistence-layer-with-spring-data-jpa) - Introduction to Spring Data JPA with Spring 4 - the Spring config, the DAO, manual and generated queries and transaction management.
- [A Guide to JPA with Spring](https://www.baeldung.com/the-persistence-layer-with-spring-and-jpa) - Setup JPA with Spring - how to set up the EntityManager factory and use the raw JPA APIs.
- [Guide to Jakarta EE JTA](https://www.baeldung.com/jee-jta) - Learn how to execute multi-resource transactions with Jakarta EE JTA.
- [Detecting If a Spring Transaction Is Active](https://www.baeldung.com/spring-transaction-active) - Let's look at how we can find if a Spring transaction is active.
- [Test a Mock JNDI Datasource with Spring](https://www.baeldung.com/spring-mock-jndi-datasource) - Learn how to test a mock JNDI datasource using the Spring Framework and the Simple-JNDI library.
- [Transaction Propagation and Isolation in Spring @Transactional](https://www.baeldung.com/spring-transactional-propagation-isolation) - Learn about the isolation and propagation settings in Spring's @Transactional
- [Looping Through a Map in JSP](https://www.baeldung.com/jsp-loop-through-map) - Learn two common approaches for iterating over a Map and display its content in the UI.
- [Apache Commons BeanUtils](https://www.baeldung.com/apache-commons-beanutils) - Learn how to use Apache Commons BeanUtils for common bean operations.
- [Spring NoSuchBeanDefinitionException](https://www.baeldung.com/spring-nosuchbeandefinitionexception) - Causes and Solutions for the NoSuchBeanDefinitionException in Spring - "No qualifying bean of type", "No Bean Named", Proxied Beans, etc.
- [Login for a Spring Web App – Error Handling and Localization](https://www.baeldung.com/spring-security-login-error-handling-localization) - How to implement a Login Page for a Spring Security app - Localization, Validation and Error handling.
- [Spring Security – Reset Your Password](https://www.baeldung.com/spring-security-registration-i-forgot-my-password) - Every app should enable users to change their own password in case they forget it.
- [Intro to Spring Security LDAP](https://www.baeldung.com/spring-security-ldap) - A simple and practical guide to using LDAP and LDIF with Spring Security.
- [Guide to Java Collectors](https://www.baeldung.com/java-collectors) - The article discusses Java 8 Collectors, showing examples of built-in collectors, as well as showing how to build custom collector.
- [A Guide to Mapping With Dozer](https://www.baeldung.com/dozer) - Dozer is a Java Bean to Java Bean mapper that copies data from one object to another, attribute by attribute, supports mapping between attribute names, does type conversion, and many other things.
- [Introduction to JSONForms](https://www.baeldung.com/introduction-to-jsonforms) - In this article we cover an introduction to JSONForms.
- [Hystrix Integration with Existing Spring Application](https://www.baeldung.com/hystrix-integration-with-spring-aop) - In this article we will look at how to integrate Hystrix into an existing Spring application with the help of Spring AOP.
- [Introduction to FindBugs](https://www.baeldung.com/intro-to-findbugs) - The article introduces FindBugs the static analysis tools, used as maven, Eclipse or Intellij plugin
- [Spring Cloud - Tracing Services with Zipkin](https://www.baeldung.com/tracing-services-with-zipkin) - Learn how traces from distributed services can be aggregated with the help of Zipkin.
- [Drools Using Rules from Excel Files](https://www.baeldung.com/drools-excel) - Learn how to manage business rules with Drools, using a simple Excel file.
- [Consumer Driven Contracts with Pact](https://www.baeldung.com/pact-junit-consumer-driven-contracts) - Learn how to get started with Pact, a library for utilising Consumer Driven Contracts.
- [OutOfMemoryError: GC Overhead Limit Exceeded](https://www.baeldung.com/java-gc-overhead-limit-exceeded) - Learn about the OOM - GC Overhead Limit Exceeded, its causes and ways to solve it.
- [New in Spring Security OAuth2 - Verify Claims](https://www.baeldung.com/spring-security-oauth-2-verify-claims) - Quick practical intro to the new Claim verification support in Spring Security OAuth.
- [Introduction to BouncyCastle with Java](https://www.baeldung.com/java-bouncy-castle) - Discover BouncyCastle - a Java library complementing the default Java Cryptographic Extension (JCE).
- [A Quick Guide to OAuth2 With Spring Boot And Keycloak](https://www.baeldung.com/spring-boot-keycloak) - Learn how to configure a Keycloak server and use it with a Spring Boot Application.
- [Interact with Google Sheets from Java](https://www.baeldung.com/google-sheets-java-client) - Learn how to connect your Java app with Google Sheets using the Google Sheets Java Client.
- [Instance Profile Credentials using Spring Cloud](https://www.baeldung.com/spring-cloud-instance-profiles) - Learn to configure Spring Cloud AWS for Instance Profile Credentials.
- [Spring Batch - Tasklets vs Chunks](https://www.baeldung.com/spring-batch-tasklet-chunk) - Learn about the two ways to implement jobs in Spring Batch: tasklets and chunks.
- [Spring Boot: Configuring a Main Class](https://www.baeldung.com/spring-boot-main-class) - Learn how to configure your Spring Boot application's main class in Maven and Gradle.
- [Java Concurrency Utility with JCTools](https://www.baeldung.com/java-concurrency-jc-tools) - Learn how to implement non-blocking, concurrent data structures with the JCTools library
- [Performance of Java Mapping Frameworks](https://www.baeldung.com/java-performance-mapping-frameworks) - Compare the performance of the most popular Java mapping frameworks.
- [Spring REST and HAL Browser](https://www.baeldung.com/spring-rest-hal) - Discover how to explore REST APIs using a HAL browser.
- [A Guide to SqlResultSetMapping](https://www.baeldung.com/jpa-sql-resultset-mapping) - Learn how to use JPA's SqlResultSetMapping to map database results to Java objects
- [Gatling vs JMeter vs The Grinder: Comparing Load Test Tools](https://www.baeldung.com/gatling-jmeter-grinder-comparison) - Which load testing tool is better suited for the job? Learn about JMeter's, Gatling's, and The Grinder's differences to make a better selection.
- [Validation for Functional Endpoints in Spring](https://www.baeldung.com/spring-functional-endpoints-validation) - Explore how to implement input validation for functional endpoints in Spring 5 to avoid unexpected errors later when we're processing the data.
- [Abstract Factory Pattern in Java](https://www.baeldung.com/java-abstract-factory-pattern) - Understand the abstract factory design pattern along with its Java implementation.
- [Handle Security in Zuul, with OAuth2 and JWT](https://www.baeldung.com/spring-security-zuul-oauth-jwt) - Learn about how you can use the Zuul edge service in conjunction with OAuth and JWTs to secure your web services
- [Validations for Enum Types](https://www.baeldung.com/javax-validations-enums) - Learn how to build validations for enums using Java custom annotations.
- [Keycloak Embedded in a Spring Boot Application](https://www.baeldung.com/keycloak-embedded-in-spring-boot-app) - Learn how to set up a pre-configured embedded Keycloak server that can be booted up within a Spring Boot application.
- [Setting Formulas in Excel with Apache POI](https://www.baeldung.com/java-apache-poi-set-formulas) - Learn how to set and evaluate Excel formulas in Java with Apache POI
- [Flyway Repair With Spring Boot](https://www.baeldung.com/spring-boot-flyway-repair) - Learn how to recover from a failed Flyway migration using Spring Boot.
- [Paging and Async Calls with the Kubernetes API](https://www.baeldung.com/java-kubernetes-paging-async) - Explore how to use paging and asynchronous calls with the Kubernetes Java API.
- [LDAP Authentication Using Pure Java](https://www.baeldung.com/java-ldap-auth) - Learn how authentication works in built-in LDAP
- [URL Rewriting With Spring Cloud Gateway](https://www.baeldung.com/spring-cloud-gateway-url-rewriting) - Explore different ways to rewrite URLs using the Spring Cloud Gateway library.
- [Authenticating Users with AzureAD in Spring Boot](https://www.baeldung.com/spring-boot-azuread-authenticate-users) - Learn how to use AzureAD with Spring Security to authenticate users, including the required configuration steps for a demo application.
- [Using PostgreSQL as a Message Broker](https://www.baeldung.com/spring-postgresql-message-broker) - Explore PostgreSQL's NOTIFY/LISTEN mechanism and learn how to use it to implement a lightweight message broker with no extra components.
- [Documenting Spring Event-Driven API Using AsyncAPI and Springwolf](https://www.baeldung.com/java-spring-doc-asyncapi-springwolf) - Learn how to document event-driven Spring Boot services using Springwolf.
- [Add Authorities as Custom Claims in JWT Access Tokens in Spring Authorization Server](https://www.baeldung.com/spring-jwt-access-tokens-authorities-custom-claims) - Learn how to add resource owner authorities to a JWT access token in the Spring Authorization Server.
- [Create Kubernetes Operators with the Java Operator SDK](https://www.baeldung.com/java-kubernetes-operator-sdk) - Learn about the concept of Kubernetes operators and how we can implement them using the Java Operator SDK.
- [OpenAPI Generator Custom Templates](https://www.baeldung.com/spring-boot-openapi-generator-custom-templates) - Learn how to use OpenAPI Generator Custom Templates to generate customized client and server code from REST API definitions.
- [OpenAPI Custom Generator](https://www.baeldung.com/java-openapi-custom-generator) - Learn the steps required to create a custom generator for the OpenAPI generator tool.
- [Introduction to TigerBeetle Transactions Database](https://www.baeldung.com/java-db-tigerbeetle) - Explore the TigerBeetle database and its features.
- [Arithmetic Operations on Arbitrary-Length Binary Integers in Java](https://www.baeldung.com/java-arithmetic-ops-precision-binary-int) - Explore different methods for performing arbitrary-precision arithmetic operations on binary numbers in Java.
- [Invoke a GoLang Function from Java](https://www.baeldung.com/java-golang-invoke-function) - Learn how to invoke a GoLang function from Java.
- [Hashing a Password in Java](https://www.baeldung.com/java-password-hashing) - Learn how to securely hash passwords in Java and why MD5 is so insecure.
- [Hibernate Envers - Extending Revision Info with Custom Fields](https://www.baeldung.com/java-hibernate-envers-extending-revision-custom-fields) - Learn how to extend the default Envers revision entity with custom fields and integrate it into a Spring Boot-based application.
- [Guide to Java String Pool](https://www.baeldung.com/java-string-pool) - Learn how the JVM optimizes the amount of memory allocated to String storage in the Java String Pool.
- [A Quick Guide to @TestPropertySource](https://www.baeldung.com/spring-test-property-source) - Learn how to use the @TestPropertySource Spring annotation effectively.
- [Introduction to Spring Data JDBC](https://www.baeldung.com/spring-data-jdbc-intro) - A quick and practical guide to Spring Data JDBC.
- [Creating a Custom Starter with Spring Boot](https://www.baeldung.com/spring-boot-custom-starter) - A quick and practical guide to creating custom Spring Boot starters.
- [Two Factor Auth with Spring Security](https://www.baeldung.com/spring-security-two-factor-authentication-with-soft-token) - A practical two-factor authentication implementation with Spring Security 4 and the Google Authenticator mobile app.
- [Introduction to Apache Kylin](https://www.baeldung.com/apache-kylin-intro) - Explore Apache Kylin, a purpose-built tool for extreme scale and performance in big data analytics.
- [Differences Between Spring Data JPA findFirst() and findTop()](https://www.baeldung.com/spring-data-jpa-findfirst-vs-findtop) - Learn about the findFirst() and findTop() methods from Spring Data JPA.
- [Maven Logging Options](https://www.baeldung.com/maven-logging) - Learn how to configure logging options with Maven.
- [Getting and Verifying Response Data with REST-assured](https://www.baeldung.com/rest-assured-response) - Have a look at how to use REST-assured to validate and extract the response from a REST endpoint
- [How to Find JAVA_HOME](https://www.baeldung.com/find-java-home) - Learn that there is more than one way to find JAVA_HOME, including a platform-independent one.
- [A Guide to Rolling File Appenders](https://www.baeldung.com/java-logging-rolling-file-appenders) - A quick and practical guide to using rolling file appenders in popular Java logging libraries
- [Java - Write an InputStream to a File](https://www.baeldung.com/convert-input-stream-to-a-file) - How to write an InputStream to a File - using Java, Guava and the Commons IO library.
- [Retrieve Fields from a Java Class Using Reflection](https://www.baeldung.com/java-reflection-class-fields) - Learn how to get the fields of a class using reflection, including inherited fields
- [Debugging Spring Applications](https://www.baeldung.com/spring-debugging) - Learn how to debug Spring applications for various application servers and IDEs
- [Guide to the Java Clock Class](https://www.baeldung.com/java-clock) - Learn about the use cases of the Java Clock class.
- [Mocking a Method in the Same Test Class Using Mockito Spy](https://www.baeldung.com/mockito-spy-same-class-method) - Learn how to mock a method in the same test class, using Mockito Spy. The technique is especially useful for complex methods with multiple calls.
- [Forward Chaining vs. Backward Chaining in Drools](https://www.baeldung.com/java-drools-forward-chaining-vs-backward-chaining) - Learn what forward and backward chaining are, how and when to implement them, as well as the key differences between them.
- [Reducing Duplication With Spock's Helper Methods](https://www.baeldung.com/java-spock-more-readable-tests) - Learn to use Spock's with() and verifyAll() helper methods to reduce the boilerplate in your tests when comparing objects.
- [Convert a ByteBuffer to String in Java](https://www.baeldung.com/java-bytebuffer-to-string) - A quick and practical guide to ByteBuffer -> String conversion in Java.
- [Custom Validation with Swagger Codegen](https://www.baeldung.com/java-swagger-custom-validation) - A quick and practical guide to applying custom validation to Swagger Codegen.
- [Add an Image to a Cell in an Excel File With Java](https://www.baeldung.com/java-add-image-excel) - Apache POI allows us to build Excel spreadsheets from Java code. In this tutorial we look at the steps for adding images to our spreadsheets.
- [Solving the Hide Utility Class Public Constructor Sonar Warning](https://www.baeldung.com/java-sonar-hide-implicit-constructor) - We may produce utility classes with static methods in Java and then receive a warning from Sonar about the implicit public constructor. We look at how to handle this error and some alternative implementations for static modules.
- [Getting a Bit at a Certain Position from Integral Values](https://www.baeldung.com/java-get-bit-at-position) - We may need to test whether the binary digits of a number are set. We explore how to do this for any digit in an integer, using some optimised binary maths as well as some simpler alternatives.
- [Check if an Enum Value Exists in Java](https://www.baeldung.com/java-search-enum-values) - Learn various ways to search enums in Java.
- [Java HTTPS Client Certificate Authentication](https://www.baeldung.com/java-https-client-certificate-authentication) - Learn how to use HTTPS Client Certificate Authentication in Java
- [Speed up Spring Boot Startup Time](https://www.baeldung.com/spring-boot-startup-speed) - Learn different configurations and setups that can help decrease Spring Boot startup time.
- [Remove Duplicate Dependencies with Maven](https://www.baeldung.com/maven-duplicate-dependencies) - Learn how to detect duplicate dependencies in Maven using the mvn dependency:tree and mvn dependency:analyze-duplicate commands.
- [Parse XML as a String in Java](https://www.baeldung.com/java-parse-xml-string) - Review the two most common approaches to converting an XML string to an XML document in Java.
- [Register ServletContextListener in Spring Boot](https://www.baeldung.com/spring-boot-register-servletcontextlistener) - Learn how to register a ServletContextListener in a Spring Boot application.
- [Decompiling Classes in Java](https://www.baeldung.com/java-decompiling-classes) - Learn about decompilation in Eclipse and IntelliJ IDEA IDEs as well as a command-line option when they aren't available.
- [Specify an Array of Strings as Body Parameters in Swagger](https://www.baeldung.com/swagger-body-array-of-strings) - Learn how to produce a default example value for String arrays as this behavior is not enabled by default.
- [Obtaining a Power Set of a Set in Java](https://www.baeldung.com/java-power-set-of-a-set) - Study the process of generating a power set of a given set in Java.
- [Partitioning and Sorting Arrays with Many Repeated Entries with Java Examples](https://www.baeldung.com/java-sorting-arrays-with-repeated-entries) - Learn different ways to partition and sort an array containing many repeated entries.
- [Asynchronous Programming in Java](https://www.baeldung.com/java-asynchronous-programming) - Learn about a few ways to achieve asynchronous programming in Java
- [New Features in Java 13](https://www.baeldung.com/java-13-new-features) - Learn about the new features and improvements introduced in JDK 13
- [Balanced Brackets Algorithm in Java](https://www.baeldung.com/java-balanced-brackets-algorithm) - Learn how to address the problem of Balanced Brackets, also known as Balanced Parentheses, with Java.
- [Guide to @CurrentSecurityContext in Spring Security](https://www.baeldung.com/spring-currentsecuritycontext) - Reading from the Spring Security Context can require a bit of boilerplate code. With the @CurrentSecurityContext annotation we can inject the values we need.
- [Final vs Effectively Final in Java](https://www.baeldung.com/java-effectively-final) - Learn the difference between Final and Effectively Final in Java.
- [How to Create a Slack Plugin in Java](https://www.baeldung.com/java-slack-plugin) - A quick and practical overview of how to create a Slack plugin in Java.
- [Java Weekly, Issue 607](https://www.baeldung.com/java-weekly-607) - Major versions are coming - Jakarta EE 12, Spring Boot 4, and why live coding isn't a good way to interview.
- [Generate Unit Test Data in Java Using Instancio](https://www.baeldung.com/java-test-data-instancio) - Learn how to eliminate manual data setup in tests by auto-generating the data using Instancio.
- [SQL Injection and How to Prevent It?](https://www.baeldung.com/sql-injection) - Explore coding mistakes in Java that can lead to a vulnerable application and how to avoid them using the APIs available in the JVM's standard runtime library.
- [Convert JSON Array to Java List](https://www.baeldung.com/java-convert-json-array-to-list) - Learn how to convert a JSON array to a Java List using the popular Gson and Jackson libraries.
- [JUnit5 @RunWith](https://www.baeldung.com/junit-5-runwith) - Learn how to use the @RunWith annotation in the JUnit 5 framework.
- [The java.lang.NoClassDefFoundError in JUnit](https://www.baeldung.com/junit-noclassdeffounderror) - In this article, we'll understand why the java.lang.NoClassDefFoundError occurs in JUnit and how to fix it.
- [Mock Final Classes and Methods with Mockito](https://www.baeldung.com/mockito-final) - Learn how to mock final classes and methods with Mockito.
- [Mockito and JUnit 5 - Using ExtendWith](https://www.baeldung.com/mockito-junit-5-extension) - Learn how to automatically inject mocks into Mockito tests using the JUnit 5 extension model.
- [Mocking Exception Throwing using Mockito](https://www.baeldung.com/mockito-exceptions) - Learn to configure a method call to throw an exception in Mockito.
- [Mocking Void Methods with Mockito](https://www.baeldung.com/mockito-void-methods) - See how to mock methods that return void using Mockito.
- [Apache ActiveMQ vs. Kafka](https://www.baeldung.com/apache-activemq-vs-kafka) - A comparison between Apache ActiveMQ and Kafka.
- [Introduction to FaunaDB with Spring](https://www.baeldung.com/faunadb-spring) - An introduction to FaunaDB and how to integrate it into a Spring application.
- [Cachable Static Assets with Spring MVC](https://www.baeldung.com/cachable-static-assets-with-spring-mvc) - This article shows how to cache your static assets such as Javascript and CSS files when serving them with Spring MVC.
- [A Guide to Timefold Solver for Employee Scheduling](https://www.baeldung.com/java-timefold-solver-guide) - Learn how to use Timefold Solver, a planning optimization tool, to determine an optimal employee shift schedule.
- [The @ServletComponentScan Annotation in Spring Boot](https://www.baeldung.com/spring-servletcomponentscan) - A quick and practical guide to the new ServletComponentScan annotation.
- [Guide to JBang](https://www.baeldung.com/jbang-guide) - Learn how to create, edit and run self-contained source-only or binary Java programs with ease using JBang.
- [The Market Share of Java IDEs in Q2 2016](https://www.baeldung.com/java-ides-2016) - Very interesting numbers showing IntelliJ picking up users from both Eclipse and other IDEs in the last couple of years.
- [A Guide to Unirest](https://www.baeldung.com/unirest) - Discover Unirest - a lightweight HTTP client library.
- [org.springframework](https://www.baeldung.com/org-springframework) - An overview of org.springframework package and Spring projects.
- [Migrating from Spring to Spring Boot](https://www.baeldung.com/spring-boot-migration) - See how to properly migrate from a Spring to Spring Boot.
- [Best Java Sites](https://www.baeldung.com/java-blogs) - The Best actively maintained sites in the Java ecosystem.
- [Using Mockito ArgumentCaptor](https://www.baeldung.com/mockito-argumentcaptor) - In this tutorial, we'll cover a common use case of using Mockito ArgumentCaptor in our unit tests.
- [Mockito – Using Spies](https://www.baeldung.com/mockito-spy) - Making good use of Spies in Mockito, and how spies are different from mocks.
- [Mockito ArgumentMatchers](https://www.baeldung.com/mockito-argument-matchers) - Learn how to use the ArgumentMatcher and how it differs from the ArgumentCaptor.
- [Mocking Static Methods With Mockito](https://www.baeldung.com/mockito-mock-static-methods) - Explore a couple of examples of how we can use Mockito to mock static methods.
- [Using the CassandraTemplate from Spring Data](https://www.baeldung.com/spring-data-cassandratemplate-cqltemplate) - A primer on using Spring Data Cassandra's CassandraTemplate to perform basic queries using QueryBuilder and CQL.
- [Custom Naming Convention with Spring Data JPA](https://www.baeldung.com/spring-data-jpa-custom-naming) - Learn how to implement a custom naming strategy using Spring Data JPA
- [Median of Stream of Integers using Heap in Java](https://www.baeldung.com/java-stream-integers-median-using-heap) - Learn how to calculate the median of a stream of Integers using Heap
- [Optimizing Spring Integration Tests](https://www.baeldung.com/spring-tests) - An opinionated guide to implementing and optimizing integration tests with Spring.
- [Configure CORS Policy for Spring Cloud Gateway](https://www.baeldung.com/spring-cloud-gateaway-configure-cors-policy) - Tutorial on how to configure a Spring Cloud Gateway application with Spring CORS support.
- [Spring Boot Interview Questions](https://www.baeldung.com/spring-boot-interview-questions) - A practical overview of most popular Spring Boot interview questions (with answers).
- [Remove HTML Tags Using Java](https://www.baeldung.com/java-remove-html-tags) - Learn how to remove all HTML tags and extract the text from an HTML document string
- [Permutations of an Array in Java](https://www.baeldung.com/java-array-permutations) - A quick and practical guide to generating array permutations in Java.
- [Creating PDF Files in Java](https://www.baeldung.com/java-pdf-creation) - A quick and practical guide to creating PDF files in Java.
- [Java Weekly, Issue 606](https://www.baeldung.com/java-weekly-606) - Learning Java in 2025, the new IntelliJ IDEA release and AI autonomy in code generation. A solid week.
- [Introduction to RAML - The RESTful API Modeling Language](https://www.baeldung.com/raml-restful-api-modeling-language-tutorial) - The definitive intro to RAML - the RESTful API Modeling Language.
- [Advantages and Disadvantages of Using Java Wildcard Imports](https://www.baeldung.com/java-wildcard-imports) - Learn the advantages and disadvantages of using wildcard import statements in Java.
- [Catch Common Mistakes with Error Prone Library in Java](https://www.baeldung.com/java-error-prone-library) - Explore the functionalities of the Error Prone library, from installation to customization, and the benefits it offers in enhancing code quality and robustness.
- [How to TDD a List Implementation in Java](https://www.baeldung.com/java-test-driven-list) - Learn Test-Driven Development while implementing a List implementation in Java.
- [Common Shortcuts in Eclipse](https://www.baeldung.com/eclipse-shortcuts) - Learn most common keyboard shortcuts available in the Eclipse IDE.
- [How to Replace Many if Statements in Java](https://www.baeldung.com/java-replace-if-statements) - Learn various ways of replacing complex nested if statements
- [Analyze, Generate and Transform Code Using Spoon in Java](https://www.baeldung.com/java-spoon-analyze-generate-transform-code) - Learn how to use the Spoon library to analyze and modify Java source code.
- [Clean Coding in Java](https://www.baeldung.com/java-clean-code) - An overview of clean coding practices in Java.
- [Cognitive Complexity and Its Effect on the Code](https://www.baeldung.com/java-cognitive-complexity) - A quick and practical guide to cognitive complexity.
- [Refactoring in Eclipse](https://www.baeldung.com/eclipse-refactoring) - Learn how to apply several refactoring operations in the Eclipse Java IDE.
- [An Introduction to Refactoring with IntelliJ IDEA](https://www.baeldung.com/intellij-refactoring) - Learn a few helpful tips for working more productively with IntelliJ.
- [Override Maven Plugin Configuration from Parent](https://www.baeldung.com/maven-plugin-override-parent) - While we want to modularise our maven file to avoid repetition, sometimes it's necessary to provide specific variations for child modules. Here we explain how the various tiers of a maven file can be combined.
- [Multi-Module Maven Application with Java Modules](https://www.baeldung.com/maven-multi-module-project-java-jpms) - Learn to create a multi-module Maven application using the Java Platform Module System (JPMS).
- [Spring Boot Dependency Management with a Custom Parent](https://www.baeldung.com/spring-boot-dependency-management-custom-parent) - See how to leverage Spring Boot's Parent dependency management even when a custom parent is already defined.
- [The Spring Boot Starter Parent](https://www.baeldung.com/spring-boot-starter-parent) - Learn how to use the Spring Boot Starter Parent.
- [Multi-Module Project with Maven](https://www.baeldung.com/maven-multi-module) - Learn about the benefits of using a Maven multi-module project and walk through the setup of a simple example
- [Understanding Maven's "relativePath" Tag for a Parent POM](https://www.baeldung.com/maven-relativepath) - Learn about the Parent POM resolution of Maven.
- [Integration Testing With the Maven Cargo Plugin](https://www.baeldung.com/integration-testing-with-the-maven-cargo-plugin) - Set up Integration testing with the Maven Cargo and the cargo-maven2-plugin (maven-cargo-plugin).
- [Quick Guide to the Maven Install Plugin](https://www.baeldung.com/maven-install-plugin) - Have a look at the Maven install plugin, used to add artifacts to a local repository.
- [The Maven Failsafe Plugin](https://www.baeldung.com/maven-failsafe-plugin) - Learn how to run integration tests using the failsafe plugin.
- [Maven Resources Plugin](https://www.baeldung.com/maven-resources-plugin) - Learn about the Maven resources plugin, used to copy files from resource directories to an output directory.
- [Difference Between Maven Surefire and Failsafe Plugins](https://www.baeldung.com/maven-surefire-vs-failsafe) - Compare Surefire and Failsafe plugins for separating and running different types of tests.
- [How to Create an Executable JAR with Maven](https://www.baeldung.com/executable-jar-with-maven) - A quick and practical guide to creating executable JARs with Maven
- [Generate WSDL Stubs with Maven](https://www.baeldung.com/maven-wsdl-stubs) - Learn how to configure the JAX-WS maven plugin to generate Java classes from a WSDL file
- [Integration Testing with Maven](https://www.baeldung.com/maven-integration-test) - An in-depth guide to configuring and running integration tests using Maven
- [The Maven Clean Plugin](https://www.baeldung.com/maven-clean-plugin) - Have a look at the Maven Clean plugin, used to remove the output of the previous build.
- [Quick Guide to the Maven Surefire Plugin](https://www.baeldung.com/maven-surefire-plugin) - Learn how to run tests in a Maven project using the surefire plugin.
- [The Maven Verifier Plugin](https://www.baeldung.com/maven-verifier-plugin) - Learn how to verify the existence and content of files and directories using the Maven verifier plugin.
- [The Maven Deploy Plugin](https://www.baeldung.com/maven-deploy-plugin) - Have a look at the Maven deploy plugin, used to push artifacts to a remote repository.
- [Maven Enforcer Plugin](https://www.baeldung.com/maven-enforcer-plugin) - Learn about the Maven Enforcer Plugin and how we can use it to guarantee the level of compliance in our project.
- [Use the Latest Version of a Dependency in Maven](https://www.baeldung.com/maven-dependency-latest-version) - Learn how to systematically keep Maven dependencies up to date
- [Plugin Management in Maven](https://www.baeldung.com/maven-plugin-management) - Plugin management allows us to configure how plugins work across multi-module maven builds. We look at how this can be used and configured.
- [Maven Compiler Plugin](https://www.baeldung.com/maven-compiler-plugin) - Learn how to use the Maven compiler plugin, used to compile the source code of a Maven project.
- [The Maven Site Plugin](https://www.baeldung.com/maven-site-plugin) - Have a look at the Maven site plugin for generating and deploying sites.
- [Introduction to Animal Sniffer Maven Plugin](https://www.baeldung.com/maven-animal-sniffer) - A quick and practical introduction to the Animal Sniffer Maven plugin
- [Guide to the Core Maven Plugins](https://www.baeldung.com/core-maven-plugins) - Learn about the core plugins of the Maven build tool.
- [How to Create a Maven Plugin](https://www.baeldung.com/maven-plugin) - Learn how to create a Maven plugin from scratch.
- [List All the Classes Loaded in the JVM](https://www.baeldung.com/jvm-list-all-classes-loaded) - Learn different techniques to list all classes loaded in the JVM
- [Securing SOAP Web Services With Keycloak](https://www.baeldung.com/soap-keycloak) - In this tutorial, we'll learn how to leverage Keycloak to authenticate and authorize SOAP web services using OIDC
- [Deserialize Snake Case to Camel Case With Jackson](https://www.baeldung.com/jackson-deserialize-snake-to-camel-case) - By default, Jackson expects the field names in JSON to match the ones in our Java POJOs. As Java usually uses camel case field naming by convention, this makes it harder to deserialize snake case JSON. We look at some ways to configure our code so that we can load JSON with other field naming conventions.
- [Split a String Only on the First Occurrence of Delimiter](https://www.baeldung.com/java-split-string-first-delimiter) - Learn two approaches to split a String only on the first occurrence of a delimiter in Java.
- [Initialization Vector for Encryption](https://www.baeldung.com/java-encryption-iv) - Learn how to use an Initialization Vector (IV) with encryption algorithms and the best practices while using the IV
- [Check if the First Letter of a String Is Uppercase](https://www.baeldung.com/java-check-first-letter-uppercase) - Explore different solutions for checking if the first letter is uppercase.
- [Assert That a Java Optional Has a Certain Value](https://www.baeldung.com/java-optional-assert-value) - We may need to write assertions on Optional values. We explore a few ways to do this, both with JUnit assertions and with the AssertJ library.
- [Ignoring Commas in Quotes When Splitting a Comma-separated String](https://www.baeldung.com/java-split-string-commas) - Learn various approaches for ignoring commas in quotes when splitting a comma-separated String.
- [Compare Strings While Ignoring Whitespace in Java](https://www.baeldung.com/java-compare-string-whitespace) - Learn different ways to compare strings while ignoring whitespace in Java.
- [Invoke a Static Method Using Java Reflection API](https://www.baeldung.com/java-invoke-static-method-reflection) - Learn how to invoke public and private static methods using the Java Reflection API
- [Serialize and Deserialize Booleans as Integers With Jackson](https://www.baeldung.com/jackson-booleans-as-integers) - Learn how to serialize Boolean values into integers and numeric strings and how to deserialize them back
- [Debugging WebSockets](https://www.baeldung.com/debug-websockets) - Learn to debug WebSockets using browsers and other popular tools
- [Using Test Containers With Spring Data Cassandra](https://www.baeldung.com/spring-data-cassandra-test-containers) - We can test our Spring Data integration with Cassandra by using Testcontainers. This starts a temporary instance of Cassandra to use during our tests. We investigate how to do this and configure spring during the test.
- [Get the Last Word of a String](https://www.baeldung.com/java-string-last-word) - A quick and practical overview of getting the last word of a String in Java.
- [Error Handling in gRPC](https://www.baeldung.com/grpcs-error-handling) - Learn how to implement error handling in gRPC for unary and stream-based RPC calls.
- [Hibernate's “Object References an Unsaved Transient Instance” Error](https://www.baeldung.com/hibernate-unsaved-transient-instance-error) - Learn how to define a proper CascadeType to solve the "org.hibernate.TransientObjectException: object references an unsaved transient instance" error
- [Trusting All Certificates in OkHttp](https://www.baeldung.com/okhttp-client-trust-all-certificates) - Learn how to create an OkHttpClient and configure it to trust all certificates — not the best practice in production, but you may need it from time to time during development or testing.
- [Get a Field’s Annotations Using Reflection](https://www.baeldung.com/java-get-field-annotations) - Learn how to get a field's annotations and how the retention meta-annotation works
- [Environment Variable Prefixes in Spring Boot](https://www.baeldung.com/spring-boot-env-variable-prefixes) - Learn how to use a prefix for environment variables with Spring Boot.
- [Convert a Byte Array to a Numeric Representation in Java](https://www.baeldung.com/java-byte-array-to-number) - Explore different approaches to convert a byte array to a numeric value and vice versa in Java.
- [Convert an Object to a Byte Array in Java](https://www.baeldung.com/object-to-byte-array) - A quick and practical guide to converting objects into byte arrays in Java.
- [Getting Started With Apache Derby](https://www.baeldung.com/java-apache-derby) - A quick guide to the Apache Derby open-source relational database engine, this article discusses all the major aspects from installing and configuring it to working with its various tools. It also shows how we can connect to it programmatically using plain JDBC and in a Spring Boot application.
- [Remove Beginning and Ending Double Quotes from a String](https://www.baeldung.com/java-remove-start-end-double-quote) - Learn different approaches for removing the beginning and ending double quotes from a String in Java.
- [Overriding Spring Boot Managed Dependency Versions](https://www.baeldung.com/spring-boot-override-dependency-versions) - Learn how to override Spring Boot managed dependencies and their versions with both Maven and Gradle.
- [What Is the --release Option in the Java Compiler?](https://www.baeldung.com/java-compiler-release-option) - Learn about Java 9's new command-line compiler option --release, what it does and how to use it.
- [Splitting a Java String by Multiple Delimiters](https://www.baeldung.com/java-string-split-multiple-delimiters) - Learn different options for splitting an input string by multiple delimiters using regular expressions, Google Guava, and Apache Commons
- [Run Maven From Java Code](https://www.baeldung.com/java-maven-run-program) - Learn how to interact with Maven and run builds directly from the code.
- [Apache Maven Tutorial](https://www.baeldung.com/maven) - A quick and practical guide to building and managing Java projects using Apache Maven.
- [Creating a Telegram Bot with Spring Boot](https://www.baeldung.com/spring-boot-telegram-bot) - Learn how to implement a Telegram bot using Spring Boot.
- [Better Retries with Exponential Backoff and Jitter](https://www.baeldung.com/resilience4j-backoff-jitter) - Learn how to better control your application retries using backoff and jitter from Resilience4j.
- [Converting Between an Array and a List in Java](https://www.baeldung.com/convert-array-to-list-and-list-to-array) - How to Convert between an Array and a List Using plain Java, Guava or Apache Commons Collections.
- [Synchronous Communication With Apache Kafka Using ReplyingKafkaTemplate](https://www.baeldung.com/spring-kafka-request-reply-synchronous) - Learn how to implement the request-reply synchronous messaging pattern when working with a Kafka message broker in Java.
- [Encoding Special Characters in XML](https://www.baeldung.com/xml-encode-special-characters) - A quick and practical guide to encoding special characters in XML.
- [A Guide to Spring AbstractRoutingDatasource](https://www.baeldung.com/spring-abstract-routing-data-source) - Learn how to use the Spring AbstractRoutingDataSource to dynamically determine the actual DataSource based on the current context.
- [A Guide to Spring gRPC Project](https://www.baeldung.com/spring-grpc-project-guide) - Learn how to use Spring gRPC project to build a Spring application with a gRPC server.
- [Sequenced Collections in Java](https://www.baeldung.com/java-21-sequenced-collections) - Learn about the new sequenced collections from the Java 21 release.
- [Display RSS Feed with Spring MVC](https://www.baeldung.com/spring-mvc-rss-feed) - Learn how to publish your own RSS feed using Spring MVC
- [Guide to Retry in Spring WebFlux](https://www.baeldung.com/spring-webflux-retry) - Cloud applications should be built for resilience. The Spring WebClient provides a few techniques out of the box for retrying failed connections. We look at how to produce retry behaviour with a few additional configuration options.
- [Using SpringJUnit4ClassRunner with Parameterized](https://www.baeldung.com/springjunit4classrunner-parameterized) - Learn how to use the Parameterized JUnit test runner with a Spring integration test
- [Leveraging Generational ZGC for Optimal Temporary Object Management](https://www.baeldung.com/java-z-garbage-collector) - Explore Generational ZGC in detail and discuss how it can enhance the management of temporary objects.
- [Testing in Spring Boot](https://www.baeldung.com/spring-boot-testing) - Learn about how the Spring Boot supports testing, to write unit tests efficiently.
- [Spring Boot Annotations](https://www.baeldung.com/spring-boot-annotations) - Explore the Spring Boot Annotations.
- [Intro to Spring Boot Starters](https://www.baeldung.com/spring-boot-starters) - A quick overview of the most common Spring Boot Starters, along with examples on how to use them in a real-world project.
- [Spring Events](https://www.baeldung.com/spring-events) - The Basics of Events in Spring - create a simple, custom Event, publish it and handle it in a listener.
- [Connecting to Remote MySQL Database Through SSH Using Java](https://www.baeldung.com/java-ssh-remote-mysql-db-connection) - Tutorial on how to connect to a MySQL database running on a remote server through an SSH session.
- [Introduction to the JDBC RowSet Interface in Java](https://www.baeldung.com/java-jdbc-rowset) - A quick and practical introduction to RowSet interfaces in Java.
- [How to Handle "MysqlDataTruncation: Data truncation: Data too long for column"](https://www.baeldung.com/java-mysqldatatruncation-data-truncation-data-too-long-for-column) - Learn how to fix the "com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column" exception problem.
- [Writing Stored Procedures for H2 in Java](https://www.baeldung.com/java-h2-stored-procedures) - Learn how to write stored procedures for the H2 database engine, using custom Java code to implement user defined functions.
- [Java Weekly, Issue 605](https://www.baeldung.com/java-weekly-605) - The new release of Jakarta EE 11 introduces modern features and full support for JDK 21, continuing with the tools like CodeRabbit that help streamline the code review process with AI-powered automation.
- [Using Multiple Source Objects with MapStruct](https://www.baeldung.com/mapstruct-multiple-source-objects) - Learn how to use multiple source objects with MapStruct.
- [Kafka Streams vs. Kafka Consumer](https://www.baeldung.com/java-kafka-streams-vs-kafka-consumer) - Learn how Kafka Streams simplify the processing operations when retrieving messages from Kafka topics.
- [Java HttpClient Basic Authentication](https://www.baeldung.com/java-httpclient-basic-auth) - Learn how to configure the Java HttpClient for basic authentication and how it works.
- [Java String.replaceAll()](https://www.baeldung.com/string-replace-all) - A quick example and explanation of the replaceAll() API of the standard String class in Java.
- [Faking OAuth2 Single Sign-on in Spring](https://www.baeldung.com/spring-oauth2-mock-sso) - Explore ways to mock and bypass the OAuth2 SSO in Spring apps for testing.
- [Returning an Auto-Generated Id with JPA](https://www.baeldung.com/jpa-get-auto-generated-id) - In this tutorial, we'll discuss how we can handle auto-generated ids with JPA.
- [Find Unused Maven Dependencies](https://www.baeldung.com/maven-unused-dependencies) - Learn how to analyze unused dependencies in Maven using the Maven Dependency Plugin.
- [Jagged Arrays in Java](https://www.baeldung.com/java-jagged-arrays) - Learn how to work with multi-dimensional arrays in Java
- [How to Pass a Variable From One Thread Group to Another in JMeter](https://www.baeldung.com/jmeter-pass-variable-to-another-thread-group) - In this quick tutorial, we'll explore how to share variables between JMeter Thread Groups. This is a common need when one group performs a setup task, like authentication or data preparation, and another group consumes the result. JMeter has some built in variables we can access, but also we can take matters into our own hands and access the file system to persist values.
- [Change the Alias of a Key Within a Keystore in Java](https://www.baeldung.com/java-keystore-change-key-alias) - Discover two different methods for changing the alias of a key within a Java keystore.
- [Java Error "Class Names Are Only Accepted if Annotation Processing Is Explicitly Requested”](https://www.baeldung.com/java-command-line-compile-errors) - Learn about some common command-line compile errors in Java.
- [Guide to Maven Profiles](https://www.baeldung.com/maven-profiles) - Learn how to work with Maven profiles to be able to create different build configurations.
- [Data Oriented Programming in Java](https://www.baeldung.com/java-dop-oop-principles-differences) - Learn about a different paradigm of software development, the Data-Oriented Programming.
- [Get Started with Java](https://www.baeldung.com/get-started-with-java-series) - Learn the basics of the Java programming language
- [Design Patterns Series](https://www.baeldung.com/design-patterns-series) - A practical and comprehensive look at learning design patterns in Java.
- [Apache Maven Series](https://www.baeldung.com/maven-series) - Learn how to work with Apache Maven, the popular Java build automation tool
- [Using Cookies With Selenium WebDriver in Java](https://www.baeldung.com/java-selenium-webdriver-cookies) - Learn how to use cookies with Selenium WebDriver in Java
- [Importance of Main Manifest Attribute in a Self-Executing JAR](https://www.baeldung.com/java-jar-executable-manifest-main-class) - Learn how to create a self-executing JAR by specifying the main class as an attribute in the Manifest file.
- [Filter a List by Any Matching Field](https://www.baeldung.com/java-list-filter-by-any-matching-field) - Learn how to filter a list of objects depending on whether any of their fields match a given string value.
- [How to Sort a List of Pair<String, Integer>](https://www.baeldung.com/java-list-sort-pairs) - Learn how to sort a list of pairs in Java.
- [Apache Kafka Series](https://www.baeldung.com/apache-kafka-series) - Learn how to work with Apache Kafka, an open-source distributed event streaming platform.
- [Java Virtual Machine Series](https://www.baeldung.com/jvm-series) - Learn how the JVM works and how to tune the available parameters.
- [Change Highlight Color in Eclipse](https://www.baeldung.com/eclipse-change-highlight-color) - Explore how to change the highlight color of different elements in Eclipse to make the coding experience more comfortable and visually clear.
- [Introduction to Smithy](https://www.baeldung.com/smithy-introduction) - Learn about Smithy, a tool to describe APIs using an IDL and automatically generate server and client SDK code from these API definitions.
- [Introduction to TeaVM](https://www.baeldung.com/java-teavm) - Explore how TeaVM facilitates the translation of Java bytecode into JavaScript.
- [Output the Version Number to a Text File Using Maven](https://www.baeldung.com/maven-output-version-number-text-file) - Both the Maven Resources Plugin and the Maven Antrun Plugin are excellent tools for managing project version information and outputting it to a text file.
- [Custom Constructor in Java Records](https://www.baeldung.com/java-records-custom-constructor) - Learn how to create custom constructors for Java Records and the benefits they provide.
- [Feature Flags with Spring](https://www.baeldung.com/spring-feature-flags) - Learn how feature flags can help you to enable or disable different functionality in your Spring Boot application without recompiling or redeploying.
- [Load Spring Boot Properties From a JSON File](https://www.baeldung.com/spring-boot-json-properties) - Learn how to load configuration properties for Spring Boot from a JSON file
- [Spring Boot Properties Prefix Must Be in Canonical Form](https://www.baeldung.com/spring-boot-properties-canonical-form) - Learn how to avoid Spring Boot configuration properties errors by using canonical kebab-casing formats.
- [How to Change the Default Port in Spring Boot](https://www.baeldung.com/spring-boot-change-port) - Have a look at how you can change the default port in a Spring Boot application.
- [Project Configuration with Spring](https://www.baeldung.com/project-configuration-with-spring) - This article discusses an simple yet flexible solution to configuration that is specific to the environment with Spring.
- [Automatic Property Expansion with Spring Boot](https://www.baeldung.com/spring-boot-auto-property-expansion) - Learn about the property expansion mechanism provided by Spring through Maven and Gradle build methods.
- [Using Spring @Value With Defaults](https://www.baeldung.com/spring-value-defaults) - A quick and practical guide to setting default values when using the @Value annotation in Spring.
- [Spring YAML Configuration](https://www.baeldung.com/spring-yaml) - Learn how to configure your Spring application using a YAML file.
- [The Spring @ConditionalOnProperty Annotation](https://www.baeldung.com/spring-conditionalonproperty) - Learn all about the Spring @ConditionalOnProperty annotation.
- [Converting Java Properties to HashMap](https://www.baeldung.com/java-convert-properties-to-hashmap) - Let's see how we can convert java.util.Properties into a HashMap
- [Dynamically Register Spring Beans Based on Properties](https://www.baeldung.com/spring-beans-dynamic-registration-properties) - Learn how to dynamically register beans based on custom properties.
- [How to Convert application.properties to application.yml for Spring Boot](https://www.baeldung.com/spring-boot-convert-application-properties-to-application-yml) - Explore the difference between .properties and .yml files and learn how to convert the application.properties file to application.yml and vice-versa using various tools and plugins.
- [Java System.getProperty vs System.getenv](https://www.baeldung.com/java-system-get-property-vs-system-getenv) - Learn exactly how to use getProperty and getenv with java.lang.System.
- [Spring Configuration Bootstrap vs Application Properties](https://www.baeldung.com/spring-cloud-bootstrap-properties) - A quick overview of context hierarchies in Spring Cloud.
- [Spring YAML vs Properties](https://www.baeldung.com/spring-yaml-vs-properties) - Compare the usage of Spring YAML versus the properties file.
- [Properties in BeanFactoryPostProcessor](https://www.baeldung.com/spring-properties-beanfactorypostprocessor) - Learn to use the Environment class to inject properties in BeanFactoryPostProcessor.
- [Property Testing Example With Vavr](https://www.baeldung.com/vavr-property-testing) - Learn about Property Based Testing, and how Vavr library makes writing them easy.
- [Spring Data Redis's Property-Based Configuration](https://www.baeldung.com/spring-data-redis-properties) - Learn how to configure Spring Boot to talk to Redis via Lettuce
- [Spring Boot Configuration Properties Migrator](https://www.baeldung.com/spring-boot-properties-migrator) - Explore a support system provided by Spring to facilitate Spring Boot upgrades
- [A Quick Guide to Spring @Value](https://www.baeldung.com/spring-value-annotation) - Learn to use the Spring @Value annotation to configure fields from property files, system properties, etc.
- [Overriding the Values of Remote Properties in Spring Cloud Config](https://www.baeldung.com/spring-cloud-config-remote-properties-override) - Explore different ways of overriding the values of remote properties in Spring Cloud Config.
- [A Guide to Log4j and the log4j.properties File in Java](https://www.baeldung.com/java-log4j-properties-guide) - Learn about Log4j and how to configure the core components using the log4j.properties file in Java.
- [Accessing Maven Properties in Java](https://www.baeldung.com/java-accessing-maven-properties) - Learn how to access Maven properties in Java.
- [Log Properties in a Spring Boot Application](https://www.baeldung.com/spring-boot-log-properties) - For debugging purposes, it can be useful to list the application properties within a Spring Boot application. We look at a few techniques for outputting and filtering runtime properties.
- [Add Build Properties to a Spring Boot Application](https://www.baeldung.com/spring-boot-build-properties) - A quick and practical introduction of using build properties in a Spring Boot application.
- [Maven Predefined Properties](https://www.baeldung.com/maven-predefined-properties) - Discover how to make Maven configurations more flexible and reusable with predifined properties.
- [Using application.yml vs application.properties in Spring Boot](https://www.baeldung.com/spring-boot-yaml-vs-properties) - Spring Boot supports both .properties and YAML. We explore the differences between injecting properties, and how to provide multiple configurations.
- [Properties with Spring and Spring Boot](https://www.baeldung.com/properties-with-spring) - Tutorial for how to work with properties files and property values in Spring.
- [Getting Started with Java Properties](https://www.baeldung.com/java-properties) - Learn how to work with key-value pairs in Java using the java.util.Properties class.
- [Changing Spring Boot Properties at Runtime](https://www.baeldung.com/spring-boot-properties-dynamic-update) - Explore several strategies for dynamically updating properties in a Spring Boot application without directly modifying the application.properties file.
- [Guide to @DynamicPropertySource in Spring](https://www.baeldung.com/spring-dynamicpropertysource) - Learn how to leverage @DynamicPropertySource to manage testing with external applications.
- [Default Values for Maven Properties](https://www.baeldung.com/maven-properties-defaults) - In this short article, we'll go through how to configure Maven properties default values, and how to use them.
- [Merging java.util.Properties Objects](https://www.baeldung.com/java-merging-properties) - A quick and practical guide to merging Properties objects.
- [Spring Properties File Outside jar](https://www.baeldung.com/spring-properties-file-outside-jar) - Learn how to load Spring properties from outside the jar package
- [How to Read an External Properties File in Maven](https://www.baeldung.com/maven-read-external-properties) - Learn to read properties files storing configuration values.
- [Guide to @EnableConfigurationProperties](https://www.baeldung.com/spring-enable-config-properties) - A quick and practical overview of @EnableConfigurationProperties in Spring.
- [Inject Arrays and Lists From Spring Properties Files](https://www.baeldung.com/spring-inject-arrays-lists) - Learn various ways to use @Value and SpEL to inject property values as arrays or lists in Spring
- [Override Properties in Spring's Tests](https://www.baeldung.com/spring-tests-override-properties) - Explore various ways to override properties in Spring's tests.
- [Using Environment Variables in Spring Boot's Properties Files](https://www.baeldung.com/spring-boot-properties-env-variables) - Learn how to use environment variables in Spring Boot's application.properties.
- [Using Multiple Cache Managers in Spring](https://www.baeldung.com/spring-multiple-cache-managers) - Learn how we can enable multiple cache managers in our Spring Boot application.
- [Java Weekly, Issue 331](https://www.baeldung.com/java-weekly-331) - A handful of Spring configuration tips for getting the most out of application.properties files, and Spring Tools 4.6.1 is released.
- [Constructing a JPA Query Between Unrelated Entities](https://www.baeldung.com/jpa-query-unrelated-entities) - Learn to construct a JPA query between unrelated entities.
- [Building a Java Application With Gradle](https://www.baeldung.com/gradle-building-a-java-app) - A quick and practical guide to building Java applications in Gradle.
- [Java Weekly, Issue 604](https://www.baeldung.com/java-weekly-604) - Using Spring Cloud Stream as an abstraction layer in high-demand applications enables easy integration with different messaging brokers. Meanwhile, in the Java ecosystem, significant improvements in Ahead-of-Time (AOT) compilation are coming in JDK 25.
- [Introduction to the Java ArrayDeque](https://www.baeldung.com/java-array-deque) - A quick and practical introduction to ArrayDeque in Java.
- [Thread Safe LIFO Data Structure Implementations](https://www.baeldung.com/java-lifo-thread-safe) - A simple tutorial to using LIFO Data Structures in concurrent environments.
- [Reversing a Stack in Java](https://www.baeldung.com/java-reversing-a-stack) - A quick and practical guide to reversing a Stack in Java.
- [Defining a Char Stack in Java](https://www.baeldung.com/java-char-stack) - Learn how to create a char stack in Java.
- [Java Deque vs. Stack](https://www.baeldung.com/java-deque-vs-stack) - Compare the Java Stack class and the Deque interface and learn why we should use Deque over Stack for LIFO stacks
- [Test WebSocket APIs With Postman](https://www.baeldung.com/postman-websocket-apis) - In this article, we'll create an application with WebSocket and test it using Postman.
- [Connecting to a Specific Schema in JDBC](https://www.baeldung.com/jdbc-connect-to-schema) - In this article, we'll cover the basics of database schemas, why we need them, and how they are useful. After that, we'll focus on practical examples of setting schema in JDBC with PostgreSQL as a database.
- [Upload a File with WebClient](https://www.baeldung.com/spring-webclient-upload-file) - In this article, we'll use WebClient – a non-blocking, reactive HTTP client – to illustrate how to upload a file.
- [Different Log4j2 Configurations per Spring Profile](https://www.baeldung.com/spring-log4j2-config-per-profile) - A quick and practical guide to configuring different Log4j2 configs per Spring profile.
- [Connect to Apache Kafka Running in Docker](https://www.baeldung.com/kafka-docker-connection) - Learn how to configure the listeners in Kafka and allow clients to connect to a broker running within Docker.
- [Count Spaces in a Java String](https://www.baeldung.com/java-string-count-spaces) - Learn various ways to count how many spaces are in a string through examples
- [Java Sound API - Capturing Microphone](https://www.baeldung.com/java-sound-api-capture-mic) - Learn how to capture microphone input and save it to a file.
- [Differences Between applicationContext.xml and spring-servlet.xml in Spring](https://www.baeldung.com/spring-applicationcontext-vs-spring-servlet-xml) - Learn about the applicationContext and spring-servlet files.
- [Running Spring Boot with PostgreSQL in Docker Compose](https://www.baeldung.com/spring-boot-postgresql-docker) - A quick and practical guide to running Spring Boot with PostgreSQL in Docker Compose.
- [Java Interfaces](https://www.baeldung.com/java-interfaces) - Explore the concept of Java interfaces and learn how Java uses them to implement polymorphism and multiple inheritance.
- [Introduction to Ambassador Design Pattern](https://www.baeldung.com/java-ambassador-design-pattern) - The Ambassador Pattern primary purpose is to abstract network routing, observability, retry, and circuit breaker mechanisms, as well as caching and security workflows
- [Intro to XPath with Java](https://www.baeldung.com/java-xpath) - A quick and practical intro to working with XPath with the help of the standard Java libraries.
- [Defining Indexes in JPA](https://www.baeldung.com/jpa-indexes) - Learn how to implement and use indexes using JPA.
- [Posting with Apache HttpClient](https://www.baeldung.com/httpclient-post-http-request) - How to POST with HttpClient 4 - from a basic request, to authentication, multipart requests, uploading files and tracking the progress of long running operations.
- [String Interpolation in Java](https://www.baeldung.com/java-string-interpolation) - Explore the topic of String interpolation in Java.
- [Using the Model Context Protocol With Quarkus and Langchain4j](https://www.baeldung.com/langchain4j-quarkus-mcp) - Learn how to build a Model Context Protocol server and client using Quarkus and LangChain4J.
- [Executing SQL Scripts in H2 Database](https://www.baeldung.com/java-h2-executing-sql-scripts) - Walk through the common ways we can execute SQL scripts using H2 in a Spring Boot test environment.
- [Ways to Add JARs to Classpath in Java](https://www.baeldung.com/java-classpath-include-jars) - Java applications often depend on several bundles of external code called JARs. Here is a listing and explanation of each of the major ways to add these JARs to your application's classpath.
- [Introduction to Traefik](https://www.baeldung.com/traefik-tutorial) - Introduction to Traefik, a modern reverse proxy and load balancer.
- [Cassandra - Object Mapping with DataStax Java Driver](https://www.baeldung.com/cassandra-object-mapping-datastax-java-driver) - There are a few ways to map objects and operations to Cassandra. We look at how to use the DataStax driver to achieve object mapping, queries and native functions.
- [A Guide to Spring Mobile](https://www.baeldung.com/spring-mobile) - This article, focuses on the Spring Mobile project. We are highlighting use cases of Spring Mobile by building a sample project.
- [Different Serialization Approaches for Java](https://www.baeldung.com/java-serialization-approaches) - Learn several approaches for serializing Java objects using third-party libraries or core Java's built-in serialization API.
- [Implement Feature Flags in Java With Unleash](https://www.baeldung.com/java-unleash-feature-flags) - Tutorial on how to implement feature flags in Java with Unleash, an open-source feature management tool.
- [Get Number of Files in a Directory and Its Subdirectories in Java](https://www.baeldung.com/java-count-files-recursively) - Explore two approaches to counting files in a directory and its subdirectories in Java.
- [Java Code Compilation Using Java Compiler API](https://www.baeldung.com/java-compilation-compiler-api) - Learn how to use the Java Compiler API.
- [Converting a JDBC ResultSet to CSV in Java](https://www.baeldung.com/jdbc-convert-resultset-csv) - Learn two options using OpenCSV and custom logic to convert JDBC ResultSet to CSV.
- [Converting String to BigInteger in Java](https://www.baeldung.com/java-string-to-biginteger) - Learn to convert a String to a BigInteger in Java.
- [Convert a String to Camel Case](https://www.baeldung.com/java-string-to-camel-case) - Camel case text conversion can be achieved by using regular expressions, or via some library functions. We look at a couple of implementations we can add to our own code, and a couple of examples from libraries.
- [Architecture of a Geospatial Application with Java](https://www.baeldung.com/java-geospatial-applications) - A comprehensive introduction to geospatial applications in Java.
- [Java Weekly, Issue 603](https://www.baeldung.com/java-weekly-603) - New plugin in IntelliJ, Spring Debugger to debug your database connection and integrating Quarkus quickjs4j in your application.
- [Trusting a Self-Signed Certificate in OkHttp](https://www.baeldung.com/okhttp-self-signed-cert) - Learn how to configure an OkHttpClient to trust self-signed certificates
- [EntityNotFoundException in Hibernate](https://www.baeldung.com/hibernate-entitynotfoundexception) - Explore situations when EntityNotFoundException occurs and solutions to handle it.
- [How to Create Password-Protected Zip Files and Unzip Them in Java](https://www.baeldung.com/java-password-protected-zip-unzip) - A quick and practical guide to working with password-protected ZIP files in Java.
- [How to Set JSON Content Type in Spring MVC](https://www.baeldung.com/spring-mvc-set-json-content-type) - Learn different options for setting the content type in Spring MVC.
- [Change the Default Location of the Log4j2 Configuration File in Spring Boot](https://www.baeldung.com/spring-boot-change-log4j2-location) - Learn different ways to change the default location of the Log4j2 configuration file in Spring Boot.
- [Context Path vs. Servlet Path in Spring](https://www.baeldung.com/spring-context-vs-servlet-path) - Explore the differences between context path and servlet path in Spring.
- [Deploying a Java War in a Docker Container](https://www.baeldung.com/docker-deploy-java-war) - Learn how to deploy a Java WAR file in a Docker container using the official Tomcat Docker image
- [Checking if an Element Exists With Selenium Webdriver](https://www.baeldung.com/selenium-webdriver-check-element-exists) - By default, Selenium prefers to throw an error when an element isn't found when expected on a page. However, we can use it to detect the presence or absence of an element without error.
- [Install Local Jar With Maven](https://www.baeldung.com/install-local-jar-with-maven) - Install local jar with Maven maven-install-plugin
- [Maven Goals and Phases](https://www.baeldung.com/maven-goals-phases) - Understand the concepts of Maven lifecycle, phases, goals and plugins.
- [Difference Between Super, Simplest, and Effective POM](https://www.baeldung.com/maven-super-simplest-effective-pom) - Learn the differences between different types of project object models in Maven
- [How to Speed Up Maven Build](https://www.baeldung.com/maven-fast-build) - Learn how to speed up Maven builds.
- [Gradle Equivalents for Maven Commands](https://www.baeldung.com/gradle-equivalents-maven-commands) - Learn about Maven commands and their equivalents in Gradle.
- [Injecting Git Information Into Spring](https://www.baeldung.com/spring-git-information) - Quick and practical guide to retrieving and injecting Git information using Spring and Maven
- [Maven Packaging Types](https://www.baeldung.com/maven-packaging-types) - In this article, we explore the different packaging types available in Maven.
- [Converting a Java Project/Module Into a Maven Project/Module in IntelliJ IDEA](https://www.baeldung.com/java-maven-convert-project) - A quick and practical guide to converting a Java project/module into a Maven project/module in IntelliJ IDEA.
- [How to Disable a Maven Plugin Defined in a Parent POM](https://www.baeldung.com/maven-disable-parent-pom-plugin) - Learn a couple of different approaches to disabling a Maven plugin defined in a parent POM.
- [A Guide to OpenRewrite](https://www.baeldung.com/java-openrewrite) - Learn the basics of the OpenRewrite, a library to for managing Maven dependencies.
- [Exclude a Dependency in a Maven Plugin](https://www.baeldung.com/mvn-plugin-dependency-exclusion) - A quick and practical guide to excluding a transitive dependency from a Maven plugin.
- [Event-Driven LISTEN/NOTIFY Support in Java using PostgreSQL](https://www.baeldung.com/java-postgresql-listen-notify-events) - Learn to use PostgreSQL's LISTEN and NOTIFY commands in Java.
- [Differences Between ZonedDateTime and OffsetDateTime](https://www.baeldung.com/java-zoneddatetime-offsetdatetime) - Explore the differences between the ZonedDateTime and the OffsetDateTime classes in Java
- [How to Fix PatternSyntaxException: "Illegal repetition near index" in Java](https://www.baeldung.com/java-patternsyntaxexception-illegal-repetition-near-index) - Explore what this exception means, examine its common causes, and most importantly, learn how to fix it so your regex patterns work smoothly.
- [Finding the Size of a Web File Using URLConnection in Java](https://www.baeldung.com/java-urlconnection-web-file-size) - Quick tutorial on how to get the size of a web file in Java.
- [Get a List of IP Connected in Same Network (Subnet) using Java](https://www.baeldung.com/java-ips-same-subnet) - A quick tutorial on finding connected IP addresses on the local network with Java.
- [Extra Login Fields with Spring Security](https://www.baeldung.com/spring-security-extra-login-fields) - A quick and practical guide to adding additional login fields.
- [Introduction to MockServer](https://www.baeldung.com/mockserver) - Explore the MockServer - the tool for mocking/stubbing external HTTP APIs.
- [How to Mock Multiple Responses for the Same Request](https://www.baeldung.com/mockserver-multiple-responses-same-request) - Learn how to use MockServer to mock multiple responses for the same request.
- [Load Testing Baeldung with Gatling](https://www.baeldung.com/load-test-a-website-with-gatling) - A quick writeup on using Gatling to writing a simple load test for a site and running that test to get some performance data out of it.
- [Load Testing Using Postman](https://www.baeldung.com/postman-load-testing) - Learn how to use Postman collections to perform simple load testing
- [Load Testing Rest Endpoint Using Gatling](https://www.baeldung.com/gatling-load-testing-rest-endpoint) - Learn how to use Gatling to do performance testing on any Rest endpoint.
- [How to Execute Load Tests Using the k6 Framework](https://www.baeldung.com/k6-framework-load-testing) - Learn how to perform load testing with the K6 framework.
- [An Intro to Spring Cloud Zookeeper](https://www.baeldung.com/spring-cloud-zookeeper) - Learn to do Service discovery using Spring and Zookeeper.
- [Getting Started with Java and Zookeeper](https://www.baeldung.com/java-zookeeper) - Explore the Java API of Apache Zookeeper - a distributed coordination service which eases the development of distributed applications
- [Kafka's Shift from ZooKeeper to Kraft](https://www.baeldung.com/kafka-shift-from-zookeeper-to-kraft) - A comprehensive explanation of Kafka's Shift from ZooKeeper to Kraft.
- [How to Check if Zookeeper Is Running or up From Command Prompt?](https://www.baeldung.com/zookeeper-status-check) - Explore the installation options for ZooKeeper and find out ways to check if a ZooKeeper node is running or not.
- [Currency Code to Currency Symbol Mapping in Java](https://www.baeldung.com/java-currency-code-symbol-mapping) - Java offers multiple ways to map a currency code to its respective symbol, including the built-in Currency class, a hardcoded Map, and Locale support.
- [Introduction to Tribuo - A Java Machine Learning Library](https://www.baeldung.com/java-ml-tribuo-guide) - Learn about the different machine learning algorithms available in Tribuo with practical examples.
- [Count the Number of Sign Changes in an Array](https://www.baeldung.com/java-array-count-sign-changes) - Learn how to count the number of sign changes in an array using iterative and functional approaches.
- [Document Query Parameters with Spring REST Docs](https://www.baeldung.com/spring-rest-document-query-parameters) - Learn how to combine writing documentation and writing APIs with Spring REST Docs.
- [Spring REST Docs vs OpenAPI](https://www.baeldung.com/spring-rest-docs-vs-openapi) - Explore the differences between the OpenAPI based springdoc and Spring REST Docs.
- [Introduction to Spring REST Docs](https://www.baeldung.com/spring-rest-docs) - This article introduces Spring REST Docs, a test-driven mechanism to generate documentation for RESTful services that is both accurate and readable.
- [REST-assured Support for Spring MockMvc](https://www.baeldung.com/spring-mock-mvc-rest-assured) - Learn how to test Spring REST controllers using the RestAssuredMockMvc API from REST-assured.
- [REST Assured Authentication](https://www.baeldung.com/rest-assured-authentication) - Learn how to authenticate secured APIs using REST Assured.
- [Sending Emails with Java](https://www.baeldung.com/java-email) - Learn how to use the native Java mail library to send emails with and without attachments.
- [Create Array of Linked Lists in Java](https://www.baeldung.com/java-array-containing-linked-lists) - A quick tutorial on creating an array of linked lists in Java.
- [Java Weekly, Issue 602](https://www.baeldung.com/java-weekly-602) - Migrating your relational database to a more flexible, scalable, and faster development cycle with MongoDB migrator. Besides that, if you are using OCI and you want to download a specific Java version you can now use Java Download Toolkit to setup any specific Java version.
- [Conditional Logging With Logback](https://www.baeldung.com/java-logback-conditional-logging) - Learn about the conditional logging features provided by the Logback framework.
- [How to Do Nested Mapping in Mapstruct?](https://www.baeldung.com/mapstruct-nested-mapping) - Learn how to map nested properties from a POJO with MapStruct.
- [Introduction to ActiveJ](https://www.baeldung.com/activej) - Discover ActiveJ, a lightweight Java framework for high-performance applications.
- [Hibernate Many to Many Annotation Tutorial](https://www.baeldung.com/hibernate-many-to-many) - Learn how the @ManyToMany annotation can be used for specifying many-to-many relationships in Hibernate.
- [Naming Executor Service Threads and Thread Pool in Java](https://www.baeldung.com/java-naming-executor-service-thread) - Learn about different ways of naming threads and thread pools in Java's ExecutorService.
- [HashMap Implementation to Count the Occurrences of Each Character in Java](https://www.baeldung.com/java-hashmap-count-occurrences-character) - Explore two HashMap-based implementation to count the occurrences of each character in a given string.
- [String Templates in Java](https://www.baeldung.com/java-21-string-templates) - Explore several String composition techniques and understand the idea behind String interpolation.
- [Pagination Support in Spring Boot GraphQL](https://www.baeldung.com/spring-boot-graphql-pagination) - Explore how to implement page-based and cursor-based pagination in a Spring Boot application using GraphQL.
- [@RequestMapping Value in Properties File](https://www.baeldung.com/spring-requestmapping-properties-file) - Learn how to set the @RequestMapping value in a properties file.
- [Sending Data to a Specific Partition in Kafka](https://www.baeldung.com/kafka-send-data-partition) - Learn different techniques for sending data to specific partitions in Kafka.
- [Java Weekly, Issue 601](https://www.baeldung.com/java-weekly-601) - Java Virtual threads become more popular and giving more usability also in other libraries. Each step ahead in Hibernate brings new database experience. And Jakarta EE 11 is out :)
- [Working with Images in Java](https://www.baeldung.com/java-images) - A quick overview of several Java image-processing libraries, including a simple example done in all of them
- [The Java Headless Mode](https://www.baeldung.com/java-headless-mode) - Learn how to work with graphic-based applications when you don't have the necessary devices using the Java Headless Mode.
- [Using Sequences in the H2 Database](https://www.baeldung.com/java-h2-sequences) - Explore how to use sequence numbers in the H2 database and learn how setting H2's compatibility mode can make tests more realistic and less likely to break
- [How to Use Apache Camel ProducerTemplate With Spring Boot](https://www.baeldung.com/spring-boot-apache-camel-producertemplate) - Learn how to use the ProducerTemplate in a Spring Boot and Apache Camel application.
- [A Guide to HashSet in Java](https://www.baeldung.com/java-hashset) - A quick but comprehensive introduction to HashSet in Java.
- [Embedded Redis Server with Spring Boot Test](https://www.baeldung.com/spring-embedded-redis) - A quick and practical overview of using embedded Redis with Spring Boot.
- [REST API Testing with Karate](https://www.baeldung.com/karate-rest-api-testing) - Learn how to test your REST API with Karate, a BDD-inspired testing framework for Java.
- [Guide to Caching in Java](https://www.baeldung.com/caching-series) - Explore popular Java libraries used to cache data, such as Caffeine, Ehcache, and JCache.
- [Parameterized Logging With SLF4J](https://www.baeldung.com/slf4j-parameterized-logging) - A quick and practical guide to parameterized logging with SLF4J.
- [Spring Security OAuth 2 Series](https://www.baeldung.com/spring-security-oauth) - Learn all about OAuth with Spring Security.
- [New Features in Java 25](https://www.baeldung.com/java-25-features) - Explore all the new features and changes introduced in Java 25.
- [Add a Line Break/Blank Line After Log Statements in Java](https://www.baeldung.com/java-add-line-break-after-log-statement) - Explore various ways to add a line break in different logger libraries.
- [How To Configure Java Heap Size Inside a Docker Container](https://www.baeldung.com/java-docker-jvm-heap-size) - To run Java in a docker container we may need to set the correct memory allocation settings, or use a JVM which is aware that it is running in a container. We discover how to optimise a docker build for our Java application's memory.
- [Convert a List to a Comma-Separated String](https://www.baeldung.com/java-list-comma-separated-string) - Learn four ways to convert a List of Strings to a comma-separated String.
- [Keycloak User Self-Registration](https://www.baeldung.com/keycloak-user-registration) - Learn how to enable user self-registration in Keycloak.
- [Introduction to Spring Modulith](https://www.baeldung.com/spring-modulith) - A quick and practical guide to Spring Modulith.
- [Guide to Resilience4j With Spring Boot](https://www.baeldung.com/spring-boot-resilience4j) - Learn how to use the Resilience4j library with a simple Spring Boot application.
- [Spring Boot and Togglz Aspect](https://www.baeldung.com/spring-togglz) - A quick and practical example of using Togglz with Spring Boot.
- [A Guide to the Problem Spring Web Library](https://www.baeldung.com/problem-spring-web) - Learn how to use the Problem Spring Web library to create messages with the errors' details using an application/problem+json response.
- [A Guide To Logback](https://www.baeldung.com/logback) - Explore the fundamentals of using Logback in your application.
- [Working With Arrays in Thymeleaf](https://www.baeldung.com/thymeleaf-arrays) - Learn how to use arrays in the Thymeleaf template engine.
- [Java Weekly, Issue 600](https://www.baeldung.com/java-weekly-600) - The focus for this weekend is improving the performance for our applications but nevertheless don't forget to use the right tool for debugging a Spring Boot application which most of the time it will save your time.
- [Testing Spring OAuth2 Access-Control](https://www.baeldung.com/spring-oauth-testing-access-control) - Explore options for testing Spring OAuth2 access control rules with mocked identities.
- [Validation Using Yavi](https://www.baeldung.com/java-yavi-validate-objects) - Learn how to use the Yavi library to perform type safe object validation in Java.
- [Parse JSON with Manifold](https://www.baeldung.com/manifold-parsing-json) - A quick and practical guide to parsing JSON with Manifold.
- [Guide to JDeferred](https://www.baeldung.com/jdeferred) - A quick and practical guide to the JDeferred library.
- [Introduction to NoException](https://www.baeldung.com/no-exception) - Learn about the NoException library that provides concise and handy exception handlers.
- [Introduction to Atlassian Fugue](https://www.baeldung.com/java-fugue) - Learn about a Java library by Atlassian named Fugue that provides a collection of utilities to support Functional Programming.
- [Reactive WebSockets with Spring](https://www.baeldung.com/spring-5-reactive-websockets) - A quick and practical example of Spring Framework 5 Reactive WebSockets API.
- [Exploring the New Spring Cloud Gateway](https://www.baeldung.com/spring-cloud-gateway) - Learn about the main features of the Spring Cloud Gateway project.
- [Introduction to Functional Java](https://www.baeldung.com/java-functional-library) - Discover the basics of the Functional Java library
- [Locality-Sensitive Hashing in Java Using Java-LSH](https://www.baeldung.com/locality-sensitive-hashing) - A quick and practical guide to applying the Locality-Sensitive Hashing algorithm in Java using the java-lsh library.
- [Introduction to MBassador](https://www.baeldung.com/mbassador) - Discover MBassador - a high-performance pub-sub event bus.
- [Introduction to jOOL](https://www.baeldung.com/jool) - Introducing jOOL's main features, with typical usage examples
- [Intro to Structurizr](https://www.baeldung.com/structurizr) - Learn Structurizr, a diagram editor that renders architectural artifacts using Java.
- [Java-R Integration](https://www.baeldung.com/java-r-integration) - Learn about some of the most common ways of integrating R code into Java.
- [Java API for GitHub using GitHub-API](https://www.baeldung.com/java-github-api) - Learn how to access the GitHub API via an object-oriented Java representation of the official GitHub REST API.
- [Introduction to Lanterna](https://www.baeldung.com/java-lanterna) - Learn about the Curses style Java console UI library Lanterna for for building text-based user interfaces.
- [Guide to MapDB](https://www.baeldung.com/mapdb) - Learn about MapDB, a lightweight persistence library which provides collection APIs to store and retrieve data.
- [A Guide to Crawler4j](https://www.baeldung.com/crawler4j) - Learn how to use crawler4j to create your own web crawlers.
- [Guide to Classgraph Library](https://www.baeldung.com/classgraph) - Have a look at the Classgraph library, that provides APIs for analyzing the Java classpath
- [User Agent Parsing Using Yauaa](https://www.baeldung.com/java-yauaa-user-agent-parsing) - Learn how to parse the User-Agent header in Java to extract information such as the client device, operating system, browser, and more.
- [Introduction to JFreeChart](https://www.baeldung.com/jfreechart-visualize-data) - We may wish to add charts or graphs to our GUIs in Java. We look at how to achieve this with JFreeChart.
- [Fault Tolerance in Java Using Failsafe](https://www.baeldung.com/java-failsafe-fault-tolerance) - A quick and practical guide to fault tolerance with Failsafe.
- [Publish and Receive Messages with Nats Java Client](https://www.baeldung.com/nats-java-client) - Learn how to connect to a NATS server and sent both pub/sub messages and load-balanced queue messages.
- [Guide to Simple Binary Encoding](https://www.baeldung.com/java-sbe) - Learn about Simple Binary Encoding (SBE): how to set it up, define the message structure via XML, and use it for messages in Java.
- [Intro to JaVers](https://www.baeldung.com/javers) - JaVers helps programmers in detecting and auditing changes in the states of simple Java objects.
- [Introduction to SootUp](https://www.baeldung.com/java-sootup) - Learn how to use the SootUp library to perform static analysis and introspection using JVM source code or byte code.
- [Introduction to JavaParser](https://www.baeldung.com/javaparser) - A quick and practical guide to JavaParser.
- [Using libphonenumber to Validate Phone Numbers](https://www.baeldung.com/java-libphonenumber) - Explore the functionality offered by libphonenumber to format and validate phone numbers using code samples.
- [Introduction to JavaPoet](https://www.baeldung.com/java-poet) - Learn how you can generate Java code with the JavaPoet library
- [Iterable to Stream in Java](https://www.baeldung.com/java-iterable-to-stream) - The article explains how to convert an Iterable to Stream and why the Iterable interface doesn't support it directly.
- [Quick Guide to the Java StringTokenizer](https://www.baeldung.com/java-stringtokenizer) - Learn how to use StringTokenizer in Java.
- [Fail-Safe Iterator vs Fail-Fast Iterator](https://www.baeldung.com/java-fail-safe-vs-fail-fast-iterator) - A quick and practical comparison between fail-safe and fail-fast iterators in Java.
- [A Guide to Iterator in Java](https://www.baeldung.com/java-iterator) - A quick and practical guide to the Iterator class in Java.
- [Getting the Size of an Iterable in Java](https://www.baeldung.com/java-iterable-size) - Learn different ways to get the size of an Iterable in Java
- [Iterating Backward Through a List](https://www.baeldung.com/java-list-iterate-backwards) - Learn about various ways you can iterate through a list backwards, including some popular third-party libraries
- [Remove All Occurrences of a Specific Value from a List](https://www.baeldung.com/java-remove-value-from-list) - In this tutorial, we’ll see multiple solutions to efficiently removing all occurrences of a value, describing the pros and cons.
- [Iterate Through a Range of Dates in Java](https://www.baeldung.com/java-iterate-date-range) - Learn some practical ways to iterate over a range of date values, whether you're using Java 7, 8, or 9 and above.
- [Ways to Iterate Over a List in Java](https://www.baeldung.com/java-iterate-list) - Review different ways to iterate through a List in Java
- [Converting Iterable to Collection in Java](https://www.baeldung.com/java-iterable-to-collection) - Learn how to convert an Iterable to a Collection with a core Java solution or other libraries
- [Converting Iterator to List](https://www.baeldung.com/java-convert-iterator-to-list) - Explore the various methods for converting an Iterator to a List in Java. 
- [Iterate Over a Set in Java](https://www.baeldung.com/java-iterate-set) - Learn look at how to iterate over the elements of a Set in Java.
- [Differences Between Iterator and Iterable and How to Use Them?](https://www.baeldung.com/java-iterator-vs-iterable) - Explore the usage of Iterable and Iterator interfaces in Java and understand the differences between them.
- [Difference Between Java Enumeration and Iterator](https://www.baeldung.com/java-enumeration-vs-iterator) - Learn the differences between Enumeration and Iterator in Java.
- [Stream to Iterable in Java](https://www.baeldung.com/java-stream-to-iterable) - Learn different ways for using a Stream as an Iterable.
- [Combining Two Lists Into a Map in Java](https://www.baeldung.com/java-combine-two-lists-into-map) - Learn three ways to combine two given lists into a map through examples
- [Creating Custom Iterator in Java](https://www.baeldung.com/java-creating-custom-iterator) - Learn how to create a custom iterator in Java and apply it to our collections.
- [Convert Java Array to Iterable](https://www.baeldung.com/java-array-convert-to-iterable) - Explore several approaches to convert a Java array to an Iterable collection.
- [What's the Difference Between Iterator and ListIterator?](https://www.baeldung.com/java-iterator-vs-listiterator) - Learn how to use Java's Iterator and ListIterator and explore the key differences between them.
- [How to Get First Item From a Java Set](https://www.baeldung.com/first-item-set) - Learn how to get the first item from a Java Set.
- [Skipping the First Iteration in Java](https://www.baeldung.com/java-skip-first-iteration) - Explore various methods to skip the first element using loops and the Stream API.
- [How to Get First or Last Entry From a LinkedHashMap in Java](https://www.baeldung.com/java-linkedhashmap-first-last-key-value-pair) - Learn various methods for retrieving the first and last key-value pairs from a LinkedHashMap
- [Modifying Objects Within Stream While Iterating](https://www.baeldung.com/java-stream-modify-objects-during-iteration) - Discover the common mistakes made while modifying the elements in a Java Stream and the correct way to do it.
- [Detect the Last Iteration in for Loops in Java](https://www.baeldung.com/java-for-loop-last-iteration) - Explore different ways to determine if the current iteration is the last one when we loop over a Java List.
- [Comparison of for Loops and Iterators](https://www.baeldung.com/java-for-loops-vs-iterators) - Explore a detailed comparison between for loops and iterators, highlighting their key distinctions in several aspects
- [PriorityQueue iterator() Method in Java](https://www.baeldung.com/java-priorityqueue-iterator) - Explore Java's PriorityQueue iterator() method's functionality and its effective use in various scenarios.
- [Reset ListIterator to First Element of the List in Java](https://www.baeldung.com/java-reset-listiterator) - Explore the various ways to reset a ListIterator to the beginning of a list in Java
- [Simplified Array Operations on JsonNode Without Typecasting in Jackson](https://www.baeldung.com/java-jsonnode-persistence-simplified-array-operations) - Explore various approaches to simplifying array operations on JsonNode without explicitly typecasting it to ArrayNode in Jackson.
- [Adding Elements to a Collection During Iteration](https://www.baeldung.com/java-add-elements-collection) - Explore several methods, including ListIterator (enhanced for looping with a copy) and Java 8 Streams, which allow you to add elements to a list during iteration in Java.
- [Iterator vs forEach() in Java](https://www.baeldung.com/java-iterator-vs-foreach) - Learn how to navigate through collections and arrays using the Iterator inteface and forEach() method.
- [Get the Position of Key/Value in LinkedHashMap Using Its Key](https://www.baeldung.com/java-linkedhashmap-key-position) - Explore different approaches to getting the position of a key value within a LinkedHashMap in Java.
- [Difference Between Iterator.forEachRemaining() and Iterable.forEach()](https://www.baeldung.com/java-iterator-foreachremaining-vs-iterable-foreach) - Explore Iterator.forEachRemaining() and Iterable.forEach() to iterate over elements in a collection.
- [Checking if an Element is the Last Element While Iterating Over an Array](https://www.baeldung.com/java-array-last-element-test) - Learn how to check if the element you're iterating over in the current iteration is the last one in the given Java array.
- [Extract Values using AssertJ in Java](https://www.baeldung.com/java-extract-values-assertj) - Learn two ways to extract an object's value to be asserted on.
- [Custom Assertions with AssertJ](https://www.baeldung.com/assertj-custom-assertion) - Learn how to create and use custom assertJ conditions to create readable test cases.
- [Using Conditions with AssertJ Assertions](https://www.baeldung.com/assertj-conditions) - Learn how to use conditions to make your AssertJ tests even more readable.
- [AssertJ for Guava](https://www.baeldung.com/assertj-for-guava) - This article focuses on AssertJ Guava-related assertions and is the second article from the AssertJ series.
- [AssertJ Support for Optional, Streams and LocalDate API](https://www.baeldung.com/assertj-java-8-features) - Learn about AssertJ Java 8 related features such as Optionals, Predicates and the new LocalDate/Time APIs.
- [Introduction to Spring Integration](https://www.baeldung.com/spring-integration) - A quick and practical guide Spring Integration
- [Memory Management in Java Interview Questions (+Answers)](https://www.baeldung.com/java-memory-management-interview-questions) - A set of popular Memory Management-related interview questions and of course answers.
- [Converting a Java Keystore Into PEM Format](https://www.baeldung.com/java-keystore-convert-to-pem-format) - Learn how to convert certificates and private keys from a Java KeyStore into PEM format using keytool and openssl.
- [Fixing the NoSuchMethodError JUnit Error](https://www.baeldung.com/junit-nosuchmethoderror) - Learn how to fix the NoSuchMethodError and NoClassDefFoundError JUnit errors
- [Using an Interface vs. Abstract Class in Java](https://www.baeldung.com/java-interface-vs-abstract-class) - Learn when to use an interface and when to use an abstract class in Java.
- [Java Objects.hash() vs Objects.hashCode()](https://www.baeldung.com/java-objects-hash-vs-objects-hashcode) - Learn how and when to use the Object.hashCode(), Objects.hashCode() and Objects.hash().
- [When to Use a Parallel Stream in Java](https://www.baeldung.com/java-when-to-use-parallel-stream) - In this tutorial, we'll explore the differences between sequential and parallel streams using Stream Api.
- [Split a String in Java and Keep the Delimiters](https://www.baeldung.com/java-split-string-keep-delimiters) - Learn how to split a string in such a way that the delimiters are part of the result
- [How to Display a Message in Maven](https://www.baeldung.com/maven-print-message-during-execution) - Learn how to print messages to the console or to a file during a Maven build using various plugins.
- [Multipart Request Handling in Spring](https://www.baeldung.com/sprint-boot-multipart-requests) - Learn how to send multipart HTTP requests using Spring Boot.
- [Deserialization Vulnerabilities in Java](https://www.baeldung.com/java-deserialization-vulnerabilities) - Learn how an attacker can use deserialization in Java to exploit a system.
- [Using Cucumber with Gradle](https://www.baeldung.com/java-cucumber-gradle) - Learn a few ways to integrate Cucumber with Gradle in order to run BDD specifications as part of the project build
- [Secret Key and String Conversion in Java](https://www.baeldung.com/java-secret-key-to-string) - A quick and practical introduction to secret key and string conversion in Java.
- [Finding All Classes in a Java Package](https://www.baeldung.com/java-find-all-classes-in-package) - Learn how to find all classes in a Java package at runtime.
- [Writing an Enterprise-Grade AWS Lambda in Java](https://www.baeldung.com/java-enterprise-aws-lambda) - Learn how to include configuration and logging capabilities in an AWS Lambda, as well as libraries that reduce boilerplate code, while still keeping things lightweight
- [Find All Numbers in a String in Java](https://www.baeldung.com/java-find-numbers-in-string) - We can use regular expressions to count occurrences of numbers in a String in Java. We look at finding numbers of various formats, extracting and converting them back into numeric form, as well as counting digits.
- [Spring Validation in the Service Layer](https://www.baeldung.com/spring-service-layer-validation) - A quick and practical introduction to service layer validation in Spring.
- [Local JAR Files as Gradle Dependencies](https://www.baeldung.com/gradle-dependencies-local-jar) - Learn how we can add local JAR files to our Gradle dependencies.
- [JPA Support - State of the Tools Ecosystem in 2021](https://www.baeldung.com/jpa-tools-overview) - An overview of the JPA plugins available for IntelliJ and Eclipse
- [Capturing Image From Webcam in Java](https://www.baeldung.com/java-capture-image-from-webcam) - Explore a few Java libraries that allow us to capture images by accessing the webcam
- [Command Line Arguments as Maven Properties](https://www.baeldung.com/maven-arguments) - In this short tutorial, we'll look at how we can pass arguments to Maven using the command line.
- [Guide to the ModelAssert Library for JSON](https://www.baeldung.com/json-modelassert) - Learn how to write assertions and comparisons between JSON values using ModelAssert
- [Connection Timeout vs. Read Timeout for Java Sockets](https://www.baeldung.com/java-socket-connection-read-timeout) - Learn about the timeout exceptions of Java socket programming
- [Build a Dashboard With Cassandra, Astra, REST & GraphQL - Recording Status Updates](https://www.baeldung.com/cassandra-astra-rest-dashboard-updates) - An example of using Cassandra to store time-series data.
- [Logical vs Bitwise OR Operator](https://www.baeldung.com/java-logical-vs-bitwise-or-operator) - Java supports two variations of OR with different operator precedence and runtime behaviour. We explore how logical OR short-circuits and how bitwise OR applies to numbers and boolean values.
- [Monitor the Consumer Lag in Apache Kafka](https://www.baeldung.com/java-kafka-consumer-lag) - Learn how to find the consumer lag on a Kafka topic.
- [Wire Tap Enterprise Integration Pattern](https://www.baeldung.com/wiretap-pattern) - A guide to the Wire Tap Enterprise Integration Pattern (EIP)
- [Native Images with Spring Boot and GraalVM](https://www.baeldung.com/spring-native-intro) - Learn how to use Spring Native to compile and build native images using Buildpacks and GraalVM's native build tools
- [Enabling Logging for Apache HttpClient](https://www.baeldung.com/apache-httpclient-enable-logging) - Learn how to enable logging for the Apache HttpClient.
- [Spring RestTemplate Error Handling](https://www.baeldung.com/spring-rest-template-error-handling) - Learn how to handle errors with Spring's RestTemplate
- [Java Weekly, Issue 593](https://www.baeldung.com/java-weekly-593) - Java is becoming more accessible to beginners but also easier to prototype in. Good stuff.
- [Loading Test Data from Files in JUnit Tests with Java Test Gadgets Test Data Factory](https://www.baeldung.com/java-test-gadgets-data-factory) - Explore the benefits of using data files to store our test data, rather than building it programmatically.
- [@Provides vs Provider Classes in Guice](https://www.baeldung.com/guice-provides-vs-provider-classes) - Discover the differences between the @Provides annotation and Provider classes in Guice.
- [Document Enum in Swagger](https://www.baeldung.com/swagger-enum) - Learn how to document enum in Swagger using the Maven plugin and verify the generated JSON document in the Swagger editor.
- [The Bridge Pattern in Java](https://www.baeldung.com/java-bridge-pattern) - A guide to the bridge design pattern and its Java implementation
- [The Proxy Pattern in Java](https://www.baeldung.com/java-proxy-pattern) - A guide to the Proxy design pattern and its Java implementation
- [Composite Design Pattern in Java](https://www.baeldung.com/java-composite-pattern) - Have a look at how to implement the composite design pattern in Java.
- [Proxy, Decorator, Adapter and Bridge Patterns](https://www.baeldung.com/java-structural-design-patterns) - Learn about the Structural Design Patterns concept by discovering the differences between the Proxy, Decorator, Adapter and Bridge Patterns.
- [Pipeline Design Pattern in Java](https://www.baeldung.com/java-pipeline-design-pattern) - Learn about the Pipeline pattern as a potent tool.
- [Creating a Custom Logback Appender](https://www.baeldung.com/custom-logback-appender) - Learn how to implement a custom Logback appender.
- [Super Type Tokens in Java Generics](https://www.baeldung.com/java-super-type-tokens) - Learn how to preserve the generic type information at runtime using super type tokens.
- [Raw Types in Java](https://www.baeldung.com/raw-types-java) - Why are raw types problematic? Learn how and what to do about it.
- [What Does the Holder<T> Class Do in Java?](https://www.baeldung.com/java-holder-class) - Learn how the Holder class can serve as a flexible and powerful tool for various programming scenarios in Java.
- [Java Warning "unchecked conversion"](https://www.baeldung.com/java-unchecked-conversion) - Take a deeper look at the "unchecked conversion" compiler warning message
- [Generic Constructors in Java](https://www.baeldung.com/java-generic-constructors) - Learn how to use generic constructors in both generic and non-generic Java classes.
- [How to Convert JsonNode to ObjectNode](https://www.baeldung.com/java-jackson-jsonnode-objectnode) - A quick guide to converting JsonNode to ObjectNode in Jackson
- [Convert Jackson JsonNode to Typed Collection](https://www.baeldung.com/java-jackson-jsonnode-collection) - Explore different methods of converting Jackson's raw data type JsonNode into typed Java collections.
- [Include null Value in JSON Serialization](https://www.baeldung.com/java-json-null-serialization) - Learn how to handle null values when converting Java objects to JSON.
- [How to Convert Excel to JSON in Java](https://www.baeldung.com/java-excel-json-conversion) - Explore two methods for converting Excel files to JSON format in Java: reading and processing Excel data with Apache POI and then converting it to JSON using the JSON and Jackson libraries.
- [Preventing Gson from Expressing Integers as Floats](https://www.baeldung.com/java-gson-prevent-expressing-integers-as-floats) - Learn why integers are considered floating-point numbers and how to prevent Gson from representing integers as floats.
- [Spring Boot With H2 Database](https://www.baeldung.com/spring-boot-h2-database) - Learn how to configure and how to use the H2 database with Spring Boot.
- [Convert an XML Object to a String in Java](https://www.baeldung.com/java-convert-xml-object-string) - Learn how to convert an XML Document object to a string in Java.
- [Converting JSON to XML in Java](https://www.baeldung.com/java-convert-json-to-xml) - Learn how to convert JSON to XML in Java.
- [Pretty-Print XML in Java](https://www.baeldung.com/java-pretty-print-xml) - Learn two approaches to pretty-print an XML file in Java
- [Parsing an XML File Using SAX Parser](https://www.baeldung.com/java-sax-parser) - Learn how to parse an XML file in Java using SAX Parser.
- [Parsing an XML File Using StAX](https://www.baeldung.com/java-stax) - Learn how to parse an XML File using StAX
- [Working with XML Files in Java Using DOM Parsing](https://www.baeldung.com/java-xerces-dom-parsing) - Learn how to parse an XML document using Xerces DOM parsing.
- [XML Libraries Support in Java](https://www.baeldung.com/java-xml-libraries) - A quick and practical guide to XML Java tools
- [Remote Code Execution with XStream](https://www.baeldung.com/java-xstream-remote-code-execution) - Learn how to prevent a remote code execution attack on an application that uses XStream to read XML
- [XStream User Guide: Converting Objects to XML](https://www.baeldung.com/xstream-serialize-object-to-xml) - In this tutorial, we will learn how to use the XStream library to serialize Java objects to XML.
- [XStream User Guide: Converting XML to Objects](https://www.baeldung.com/xstream-deserialize-xml-to-object) - This article demonstrates how to use XStream to deserialize XML to Java objects.
- [XStream User Guide: JSON](https://www.baeldung.com/xstream-json-processing) - This article covers the XStream XML processing library's JSON processing capabilities.
- [Convert String XML Fragment to Document Node in Java](https://www.baeldung.com/java-xml-fragment-document-node) - Learn how to convert string XML fragment to document node in Java
- [Convert XML to HTML in Java](https://www.baeldung.com/java-convert-xml-to-html) - Learn several ways to convert XML to HTML in Java.
- [Modifying an XML Attribute in Java](https://www.baeldung.com/java-modify-xml-attribute) - Learn how to modify attributes in an XML document using Java with JAXP, dom4j, and jOOX
- [Write an org.w3.dom.Document to a File](https://www.baeldung.com/java-write-xml-document-file) - Learn how to write and customize XML output in Java
- [Introduction to JiBX](https://www.baeldung.com/jibx) - Learn how to use JiBX to convert XML to Java POJOs and vice versa.
- [How to Convert org.w3c.dom.Document to String in Java](https://www.baeldung.com/java-convert-org-w3c-dom-document-string) - Learn how to create an XML Document from a Java String object and convert it back into a String using the javax.xml.transform package.
- [How to Convert XML to PDF](https://www.baeldung.com/java-xml-pdf-conversion) - A quick and practical guide to converting XML to PDF in Java.
- [Invalid Characters in XML](https://www.baeldung.com/java-xml-invalid-characters) - In this article, we learn about various invalid characters and how to handle them in XML processing.
- [Convert an XML File to CSV File](https://www.baeldung.com/java-convert-xml-csv) - Learn how to quickly convert XML files to CSV using Java

## Pages

- [Homepage](https://www.baeldung.com/) - In-depth, to-the-point tutorials on Java, Spring, Spring Boot, Security, and REST.
- [Start Here](https://www.baeldung.com/start-here) - Get started with the Java language and frameworks.
- [Write for Baeldung](https://www.baeldung.com/contribution-guidelines) - I'm opening up Baeldung. Here are the Guidelines on how to start contributing.
- [](https://www.baeldung.com/consulting-work) - I'm no longer accepting new consulting engagements.
- [Apply to a Job](https://www.baeldung.com/job-contact) - Contact me (Eugen) or the Baeldung team when applying for a job
- [Help - Clear your Browser Cache after Joining Pro](https://www.baeldung.com/help-clear-your-browser-cache-after-joining-pro) - Having trouble accessing Pro features? Learn how to clear your browser cache to ensure smooth access to your upgraded account.
- [How to Safelist our Emails](https://www.baeldung.com/how-safelist-email) - Safelist our Emails
- [Cart](https://www.baeldung.com/cart) - Cart
- [Thanks for reaching out. I'll get in touch with you soon.](https://www.baeldung.com/thanks-course-contact) - Thanks for reaching out.
- [How much can I help?](https://www.baeldung.com/how-can-i-help) - A quick read related to how I can help with technical, code-focused questions.
- [Contact](https://www.baeldung.com/contact) - Contact me (Eugen) or the Baeldung team
- [Write for Baeldung](https://www.baeldung.com/java-contribution-guidelines) - Become an author on Baeldung, and get paid for writing practical, to-the-point articles in the Java ecosystem.
- [Editors](https://www.baeldung.com/editors) - A quick list of Baeldung editors.
- [You're Almost Done](https://www.baeldung.com/almost-done) - Confirm email
- [About Baeldung](https://www.baeldung.com/about) - About Baeldung
- [Follow Baeldung](https://www.baeldung.com/follow) - Follow Baeldung on social
- [Apply as an Author](https://www.baeldung.com/hiring) - Apply to become an author, on Baeldung.
- [](https://www.baeldung.com/webinar-api-discoverability-thank-you) - "Looking Forward to Seeing You On The Webinar!" ​If you want more reminders for the event - you should add the event into your calendar below. ​ WEBINAR DETAILS ​API Discoverability with Spring and Spring HATEOAS Add to Outlook Calendar Add to Google Calendar Add to iCal
- [Privacy Policy](https://www.baeldung.com/privacy-policy) - The Privacy Policy of Baeldung.
- [Blogs I Read Regularly](https://www.baeldung.com/blogs-i-read) - Blogs I Read Regularly
- [The Best Of Baeldung](https://www.baeldung.com/best-of) - A curated list of the best writeups on Baeldung.
- [](https://www.baeldung.com/terms-of-service) - The Terms of Service on Baeldung.
- [Learn Spring on Baeldung](https://www.baeldung.com/learn-spring) - Learn Spring on Baeldung: >> The REST with Spring Tutorial Series >> The Security with Spring Tutorial Series >> The Persistence with Spring Tutorial Series
- [Full Archive](https://www.baeldung.com/full_archive) - Birds eye view over Baeldung
- [Baeldung – Company Info](https://www.baeldung.com/company-info) - The Baeldung official company info
- [](https://www.baeldung.com/coaching-faq) - The Coaching Program – FAQ

## Categories

- [Cloud](https://www.baeldung.com/category/cloud)
- [HTTP Client-Side](https://www.baeldung.com/category/http)
- [Jackson](https://www.baeldung.com/category/json/jackson)
- [Java](https://www.baeldung.com/category/java)
- [Maven](https://www.baeldung.com/category/maven)
- [Persistence](https://www.baeldung.com/category/persistence)
- [REST](https://www.baeldung.com/category/rest)
- [Security](https://www.baeldung.com/category/security)
- [Series](https://www.baeldung.com/category/series)
- [Spring](https://www.baeldung.com/category/spring)
- [Testing](https://www.baeldung.com/category/testing)
- [Weekly Review](https://www.baeldung.com/category/weekly-review)
- [JSON](https://www.baeldung.com/category/json)
- [XML](https://www.baeldung.com/category/xml)
- [Jakarta EE](https://www.baeldung.com/category/java-ee)
- [Spring MVC](https://www.baeldung.com/category/spring/spring-web/spring-mvc)
- [DevOps](https://www.baeldung.com/category/devops)
- [News](https://www.baeldung.com/category/news)
- [Architecture](https://www.baeldung.com/category/architecture)
- [Algorithms](https://www.baeldung.com/category/algorithms)
- [Data](https://www.baeldung.com/category/data)
- [Spring Data](https://www.baeldung.com/category/persistence/spring-persistence/spring-data)
- [Spring Security](https://www.baeldung.com/category/spring/spring-security)
- [Logging](https://www.baeldung.com/category/logging)
- [Spring Cloud](https://www.baeldung.com/category/spring/spring-cloud)
- [Spring Boot](https://www.baeldung.com/category/spring/spring-boot)
- [Spring Persistence](https://www.baeldung.com/category/persistence/spring-persistence)
- [Spring Web](https://www.baeldung.com/category/spring/spring-web)
- [Java Collections](https://www.baeldung.com/category/java/java-collections)
- [Reactive](https://www.baeldung.com/category/reactive)
- [IDE](https://www.baeldung.com/category/ide)
- [Gradle](https://www.baeldung.com/category/gradle)
- [Networking](https://www.baeldung.com/category/networking)
- [NoSQL](https://www.baeldung.com/category/persistence/nosql)
- [Java Concurrency](https://www.baeldung.com/category/java/java-concurrency)
- [Web Services](https://www.baeldung.com/category/web-services)
- [Docker](https://www.baeldung.com/category/docker)
- [Java Web](https://www.baeldung.com/category/java-web)
- [Java String](https://www.baeldung.com/category/java/java-string)
- [Java Numbers](https://www.baeldung.com/category/java/java-numbers)
- [Java Array](https://www.baeldung.com/category/java/java-array)
- [JVM](https://www.baeldung.com/category/java/jvm)
- [Java Map](https://www.baeldung.com/category/java/java-collections/java-map)
- [Java Streams](https://www.baeldung.com/category/java/java-streams)
- [JPA](https://www.baeldung.com/category/persistence/jpa)
- [Java Dates](https://www.baeldung.com/category/java/java-dates)
- [Java IO](https://www.baeldung.com/category/java/java-io)
- [Core Java](https://www.baeldung.com/category/java/core-java)
- [Artificial Intelligence](https://www.baeldung.com/category/artificial-intelligence)
- [Groovy](https://www.baeldung.com/category/groovy)
- [Clojure](https://www.baeldung.com/category/clojure)
- [Spring WebFlux](https://www.baeldung.com/category/spring/spring-webflux)
- [Meta](https://www.baeldung.com/category/meta)
- [Java List](https://www.baeldung.com/category/java/java-list)
- [Spring AI](https://www.baeldung.com/category/spring/spring-ai)

## Tags

- [Exception](https://www.baeldung.com/tag/exception)
- [Hibernate](https://www.baeldung.com/tag/hibernate)
- [Spring Social](https://www.baeldung.com/tag/spring-social)
- [AssertJ](https://www.baeldung.com/tag/assertj)
- [Angular](https://www.baeldung.com/tag/angular)
- [Querydsl](https://www.baeldung.com/tag/querydsl)
- [Thymeleaf](https://www.baeldung.com/tag/thymeleaf)
- [RAML](https://www.baeldung.com/tag/raml)
- [Design Pattern](https://www.baeldung.com/tag/design-pattern)
- [OAuth](https://www.baeldung.com/tag/oauth)
- [Regex](https://www.baeldung.com/tag/regex)
- [MongoDB](https://www.baeldung.com/tag/mongodb)
- [Gson](https://www.baeldung.com/tag/gson)
- [Interview](https://www.baeldung.com/tag/interview)
- [Spring 5](https://www.baeldung.com/tag/spring-5)
- [Spring AOP](https://www.baeldung.com/tag/spring-aop)
- [Jetty](https://www.baeldung.com/tag/jetty)
- [JUnit](https://www.baeldung.com/tag/junit)
- [Vavr](https://www.baeldung.com/tag/vavr)
- [Activiti](https://www.baeldung.com/tag/activiti)
- [RxJava](https://www.baeldung.com/tag/rxjava)
- [sponsored](https://www.baeldung.com/tag/sponsored)
- [Static Analysis](https://www.baeldung.com/tag/static-analysis)
- [Servlet](https://www.baeldung.com/tag/servlet)
- [Eclipse](https://www.baeldung.com/tag/eclipse)
- [JMockit](https://www.baeldung.com/tag/jmockit)
- [JUnit 5](https://www.baeldung.com/tag/junit-5)
- [Registration](https://www.baeldung.com/tag/registration)
- [Caching](https://www.baeldung.com/tag/caching)
- [AWS](https://www.baeldung.com/tag/aws)
- [BDD](https://www.baeldung.com/tag/bdd)
- [Spring Integration](https://www.baeldung.com/tag/spring-integration)
- [Inheritance](https://www.baeldung.com/tag/inheritance)
- [REST Query Language](https://www.baeldung.com/tag/rest-ql)
- [WebSockets](https://www.baeldung.com/tag/websockets)
- [Redis](https://www.baeldung.com/tag/redis)
- [Drools](https://www.baeldung.com/tag/drools)
- [Ratpack](https://www.baeldung.com/tag/ratpack)
- [Hystrix](https://www.baeldung.com/tag/hystrix)
- [Apache Camel](https://www.baeldung.com/tag/apache-camel)
- [Cassandra](https://www.baeldung.com/tag/cassandra)
- [TestNG](https://www.baeldung.com/tag/testng)
- [Microservices](https://www.baeldung.com/tag/microservices)
- [Apache CXF](https://www.baeldung.com/tag/apache-cxf)
- [JDBC](https://www.baeldung.com/tag/jdbc)
- [Elasticsearch](https://www.baeldung.com/tag/elasticsearch)
- [Tomcat](https://www.baeldung.com/tag/tomcat)
- [AngularJS](https://www.baeldung.com/tag/angularjs)
- [Couchbase](https://www.baeldung.com/tag/couchbase)
- [JSF](https://www.baeldung.com/tag/jsf)
- [REST Assured](https://www.baeldung.com/tag/rest-assured)
- [Hamcrest](https://www.baeldung.com/tag/hamcrest)
- [Akka](https://www.baeldung.com/tag/akka)
- [Java Keyword](https://www.baeldung.com/tag/java-keyword)
- [Mockito](https://www.baeldung.com/tag/mockito)
- [Spring Annotations](https://www.baeldung.com/tag/spring-annotations)
- [EJB](https://www.baeldung.com/tag/ejb)
- [RestTemplate](https://www.baeldung.com/tag/resttemplate)
- [IntelliJ](https://www.baeldung.com/tag/intellij)
- [Jersey](https://www.baeldung.com/tag/jersey)
- [Lucene](https://www.baeldung.com/tag/lucene)
- [Math](https://www.baeldung.com/tag/math)
- [Kafka](https://www.baeldung.com/tag/kafka)
- [Lombok](https://www.baeldung.com/tag/lombok)
- [Logback](https://www.baeldung.com/tag/logback)
- [SLF4J](https://www.baeldung.com/tag/slf4j)
- [Log4j2](https://www.baeldung.com/tag/log4j2)
- [Spring Data REST](https://www.baeldung.com/tag/spring-data-rest)
- [Spring DI](https://www.baeldung.com/tag/spring-di)
- [DDD](https://www.baeldung.com/tag/ddd)
- [LDAP](https://www.baeldung.com/tag/ldap)
- [Spring Security 5](https://www.baeldung.com/tag/spring-security-5)
- [Authentication](https://www.baeldung.com/tag/authentication)
- [JSP](https://www.baeldung.com/tag/jsp)
- [Password](https://www.baeldung.com/tag/password)
- [JWT](https://www.baeldung.com/tag/jwt)
- [Authorization](https://www.baeldung.com/tag/authorization)
- [SSO](https://www.baeldung.com/tag/sso)
- [Zuul](https://www.baeldung.com/tag/zuul)
- [Eureka](https://www.baeldung.com/tag/eureka)
- [Swagger](https://www.baeldung.com/tag/swagger)
- [DTO](https://www.baeldung.com/tag/dto)
- [Boot Basics](https://www.baeldung.com/tag/boot-basics)
- [Messaging](https://www.baeldung.com/tag/messaging)
- [Flyway](https://www.baeldung.com/tag/flyway)
- [jOOQ](https://www.baeldung.com/tag/jooq)
- [Spring Batch](https://www.baeldung.com/tag/spring-batch)
- [Bean Validation](https://www.baeldung.com/tag/bean-validation)
- [Transactions](https://www.baeldung.com/tag/transactions)
- [AMQP](https://www.baeldung.com/tag/amqp)
- [Generics](https://www.baeldung.com/tag/generics)
- [Reflection](https://www.baeldung.com/tag/reflection)
- [Cucumber](https://www.baeldung.com/tag/cucumber)
- [Enums](https://www.baeldung.com/tag/enums)
- [JAX-RS](https://www.baeldung.com/tag/jax-rs)
- [Matchers](https://www.baeldung.com/tag/matchers)
- [Immutable](https://www.baeldung.com/tag/immutable)
- [Course](https://www.baeldung.com/tag/course)
- [Jackson Basics](https://www.baeldung.com/tag/jackson-basics)
- [JHipster](https://www.baeldung.com/tag/jhipster)
- [Java NIO](https://www.baeldung.com/tag/java-nio)
- [Kubernetes](https://www.baeldung.com/tag/kubernetes)
- [Spring Security Basics](https://www.baeldung.com/tag/spring-security-basics)
- [Spring MVC Basics](https://www.baeldung.com/tag/spring-mvc-basics)
- [Maven Basics](https://www.baeldung.com/tag/maven-basics)
- [WebClient](https://www.baeldung.com/tag/webclient)
- [no-optins](https://www.baeldung.com/tag/no-optins)
- [no-ads](https://www.baeldung.com/tag/no-ads)
- [Java Set](https://www.baeldung.com/tag/java-set)
- [Java Queue](https://www.baeldung.com/tag/java-queue)
- [Data Structures](https://www.baeldung.com/tag/data-structures)
- [ads](https://www.baeldung.com/tag/ads)
- [Spring Core Basics](https://www.baeldung.com/tag/spring-core-basics)
- [EasyMock](https://www.baeldung.com/tag/easymock)
- [Java HttpClient](https://www.baeldung.com/tag/java-httpclient)
- [OkHttp](https://www.baeldung.com/tag/okhttp)
- [Java Bytecode](https://www.baeldung.com/tag/java-bytecode)
- [Guice](https://www.baeldung.com/tag/guice)
- [Netty](https://www.baeldung.com/tag/netty)
- [Quartz](https://www.baeldung.com/tag/quartz)
- [Reactor](https://www.baeldung.com/tag/reactor)
- [Debugging](https://www.baeldung.com/tag/debugging)
- [Pagination](https://www.baeldung.com/tag/pagination)
- [Spark](https://www.baeldung.com/tag/spark)
- [Spock](https://www.baeldung.com/tag/spock)
- [XStream](https://www.baeldung.com/tag/xstream)
- [Blockchain](https://www.baeldung.com/tag/blockchain)
- [Java Search](https://www.baeldung.com/tag/java-search)
- [MapStruct](https://www.baeldung.com/tag/mapstruct)
- [popular](https://www.baeldung.com/tag/popular)
- [Job](https://www.baeldung.com/tag/job)
- [Random](https://www.baeldung.com/tag/random)
- [Inactive Job](https://www.baeldung.com/tag/inactive-job)
- [Selenium](https://www.baeldung.com/tag/selenium)
- [Excel](https://www.baeldung.com/tag/excel)
- [Glassfish](https://www.baeldung.com/tag/glassfish)
- [DynamoDB](https://www.baeldung.com/tag/dynamodb)
- [Play](https://www.baeldung.com/tag/play)
- [AspectJ](https://www.baeldung.com/tag/aspectj)
- [Spring Retry](https://www.baeldung.com/tag/spring-retry)
- [Sorting](https://www.baeldung.com/tag/sorting)
- [WildFly](https://www.baeldung.com/tag/wildfly)
- [Netflix](https://www.baeldung.com/tag/netflix)
- [SOAP](https://www.baeldung.com/tag/soap)
- [GraphQL](https://www.baeldung.com/tag/graphql)
- [OAuth Legacy Stack](https://www.baeldung.com/tag/oauth-legacy-stack)
- [OAuth Spring](https://www.baeldung.com/tag/oauth-spring)
- [Apache Shiro](https://www.baeldung.com/tag/apache-shiro)
- [Garbage Collection](https://www.baeldung.com/tag/garbage-collection)
- [Java Null](https://www.baeldung.com/tag/java-null)
- [Keycloak](https://www.baeldung.com/tag/keycloak)
- [yaml](https://www.baeldung.com/tag/yaml)
- [copy-edit](https://www.baeldung.com/tag/copy-edit)
- [HTML](https://www.baeldung.com/tag/html)
- [JMeter](https://www.baeldung.com/tag/jmeter)
- [Git](https://www.baeldung.com/tag/git)
- [Feign](https://www.baeldung.com/tag/feign)
- [Gatling](https://www.baeldung.com/tag/gatling)
- [Axon](https://www.baeldung.com/tag/axon)
- [Javadoc](https://www.baeldung.com/tag/javadoc)
- [OpenAPI](https://www.baeldung.com/tag/openapi)
- [Quarkus](https://www.baeldung.com/tag/quarkus)
- [RabbitMQ](https://www.baeldung.com/tag/rabbitmq)
- [reference](https://www.baeldung.com/tag/reference)
- [JaCoCo](https://www.baeldung.com/tag/jacoco-library)
- [JavaFX](https://www.baeldung.com/tag/javafx)
- [SSL](https://www.baeldung.com/tag/ssl)
- [Postman](https://www.baeldung.com/tag/postman)
- [gRPC](https://www.baeldung.com/tag/grpc)
- [Datastax](https://www.baeldung.com/tag/datastax)
- [H2](https://www.baeldung.com/tag/h2)
- [Docker Compose](https://www.baeldung.com/tag/docker-compose)
- [CSRF](https://www.baeldung.com/tag/csrf)
- [SQL](https://www.baeldung.com/tag/sql)
- [JMX](https://www.baeldung.com/tag/jmx)
- [Sonar](https://www.baeldung.com/tag/sonar)
- [Micronaut](https://www.baeldung.com/tag/micronaut)
- [Metrics](https://www.baeldung.com/tag/metrics)
- [OpenID](https://www.baeldung.com/tag/openid)
- [no-before-post](https://www.baeldung.com/tag/no-before-post)
- [Apache HttpClient](https://www.baeldung.com/tag/apache-httpclient)
- [JNDI](https://www.baeldung.com/tag/jndi)
- [Fauna](https://www.baeldung.com/tag/fauna)
- [javac](https://www.baeldung.com/tag/javac)
- [HQL](https://www.baeldung.com/tag/hql)
- [Dockerfile](https://www.baeldung.com/tag/dockerfile)
- [MySQL](https://www.baeldung.com/tag/mysql)
- [Liberica JDK](https://www.baeldung.com/tag/liberica-jdk)
- [Proxy](https://www.baeldung.com/tag/proxy)
- [Eclipse Collections](https://www.baeldung.com/tag/eclipse-collections)
- [JAR](https://www.baeldung.com/tag/jar)
- [WAR](https://www.baeldung.com/tag/war)
- [Record](https://www.baeldung.com/tag/record)
- [StringBuilder](https://www.baeldung.com/tag/stringbuilder)
- [Spring Cloud Gateway](https://www.baeldung.com/tag/spring-cloud-gateway)
- [Spring Boot 3](https://www.baeldung.com/tag/spring-boot-3)
- [JMS](https://www.baeldung.com/tag/jms)
- [no-bottom-optins](https://www.baeldung.com/tag/no-bottom-optins)
- [no-sidebar-optins](https://www.baeldung.com/tag/no-sidebar-optins)
- [no-after-post](https://www.baeldung.com/tag/no-after-post)
- [Lightrun](https://www.baeldung.com/tag/lightrun)
- [Spring Data MongoDB](https://www.baeldung.com/tag/spring-data-mongodb)
- [Java Stack Trace](https://www.baeldung.com/tag/java-stack-trace)
- [Protobuf](https://www.baeldung.com/tag/protobuf)
- [HTTP Post](https://www.baeldung.com/tag/http-post)
- [UUID](https://www.baeldung.com/tag/uuid)
- [PDF](https://www.baeldung.com/tag/pdf)
- [Resilience4j](https://www.baeldung.com/tag/resilience4j)
- [PostgreSQL](https://www.baeldung.com/tag/postgresql)
- [Liquibase](https://www.baeldung.com/tag/liquibase)
- [admin-author-java](https://www.baeldung.com/tag/admin-author-java)
- [Java Interfaces](https://www.baeldung.com/tag/java-interfaces)
- [Docker Image](https://www.baeldung.com/tag/docker-image)
- [To Delete – Possibly](https://www.baeldung.com/tag/to-delete-possibly)
- [Docker Container](https://www.baeldung.com/tag/docker-container)
- [Observability](https://www.baeldung.com/tag/observability)
- [Optional](https://www.baeldung.com/tag/optional)
- [Partner](https://www.baeldung.com/tag/partner-article)
- [Lambda Expressions](https://www.baeldung.com/tag/lambda-expressions)
- [Profilers](https://www.baeldung.com/tag/profilers)
- [Rule Engine](https://www.baeldung.com/tag/rule-engine)
- [Azure](https://www.baeldung.com/tag/azure)
- [Java Constructor](https://www.baeldung.com/tag/java-constructor)
- [javax](https://www.baeldung.com/tag/javax)
- [Classpath](https://www.baeldung.com/tag/classpath)
- [Spring 6](https://www.baeldung.com/tag/spring-6)
- [Java Scanner](https://www.baeldung.com/tag/java-scanner)
- [Spring Boot Actuator](https://www.baeldung.com/tag/spring-boot-actuator)
- [Apache Commons](https://www.baeldung.com/tag/apache-commons)
- [Apache POI](https://www.baeldung.com/tag/apache-poi)
- [Serialization](https://www.baeldung.com/tag/serialization)
- [retired](https://www.baeldung.com/tag/retired)
- [JMH](https://www.baeldung.com/tag/jmh)
- [Spring JDBC](https://www.baeldung.com/tag/spring-jdbc)
- [Spring Data JPA](https://www.baeldung.com/tag/spring-data-jpa)
- [Native Code](https://www.baeldung.com/tag/native-code)
- [S3](https://www.baeldung.com/tag/s3)
- [Java Characters](https://www.baeldung.com/tag/java-characters)
- [Performance](https://www.baeldung.com/tag/performance)
- [Memory](https://www.baeldung.com/tag/memory)
- [Heap Space](https://www.baeldung.com/tag/heap-space)
- [Class Loaders](https://www.baeldung.com/tag/class-loaders)
- [JVM Flags](https://www.baeldung.com/tag/jvm-flags)
- [Java Primitives](https://www.baeldung.com/tag/java-primitives)
- [WireMock](https://www.baeldung.com/tag/wiremock)
- [Timezone](https://www.baeldung.com/tag/timezone)
- [Joda Time](https://www.baeldung.com/tag/joda-time)
- [Java Legacy Date API](https://www.baeldung.com/tag/java-legacy-date-api)
- [Java Time](https://www.baeldung.com/tag/java-time)
- [Date Conversions](https://www.baeldung.com/tag/date-conversions)
- [Instant](https://www.baeldung.com/tag/instant)
- [Date Formatting](https://www.baeldung.com/tag/date-formatting)
- [RSocket](https://www.baeldung.com/tag/rsocket)
- [Map Conversions](https://www.baeldung.com/tag/map-conversions)
- [JPA Entities](https://www.baeldung.com/tag/jpa-entities)
- [JPA Annotations](https://www.baeldung.com/tag/jpa-annotations)
- [EntityManager](https://www.baeldung.com/tag/entity-manager)
- [Entity ID](https://www.baeldung.com/tag/entity-id)
- [Entity Relationships](https://www.baeldung.com/tag/entity-relationships)
- [Java HashMap](https://www.baeldung.com/tag/java-hashmap)
- [CSV](https://www.baeldung.com/tag/csv)
- [Map Entry](https://www.baeldung.com/tag/map-entry)
- [ConcurrentMap](https://www.baeldung.com/tag/concurrent-map)
- [MultiMap](https://www.baeldung.com/tag/multi-map)
- [Testcontainers](https://www.baeldung.com/tag/testcontainers)
- [Java BigDecimal](https://www.baeldung.com/tag/java-bigdecimal)
- [Java CompletableFuture](https://www.baeldung.com/tag/java-completablefuture)
- [Java Paths](https://www.baeldung.com/tag/java-paths)
- [Java FileReader](https://www.baeldung.com/tag/java-filereader)
- [Java FileWriter](https://www.baeldung.com/tag/java-filewriter)
- [Java InputStream](https://www.baeldung.com/tag/java-inputstream)
- [Java OutputStream](https://www.baeldung.com/tag/java-outputstream)
- [Number Conversions](https://www.baeldung.com/tag/number-conversions)
- [Floating Point Numbers](https://www.baeldung.com/tag/floating-point-numbers)
- [Java Integer](https://www.baeldung.com/tag/java-integer)
- [Threads](https://www.baeldung.com/tag/threads)
- [Java Loops](https://www.baeldung.com/tag/java-loops)
- [Java Statements](https://www.baeldung.com/tag/java-statements)
- [Apache Commons IO](https://www.baeldung.com/tag/apache-commons-io)
- [Apache Commons Collections](https://www.baeldung.com/tag/apache-commons-collections)
- [Apache Commons Lang](https://www.baeldung.com/tag/apache-commons-lang)
- [Apache Commons Text](https://www.baeldung.com/tag/apache-commons-text)
- [Apache Commons Codec](https://www.baeldung.com/tag/apache-commons-codec)
- [Apache Commons Math](https://www.baeldung.com/tag/apache-commons-math)
- [Apache Commons CSV](https://www.baeldung.com/tag/apache-commons-csv)
- [Java Operators](https://www.baeldung.com/tag/java-operators)
- [Java Annotations](https://www.baeldung.com/tag/java-annotations)
- [>= Java 8](https://www.baeldung.com/tag/jdk8-and-later)
- [>= Java 11](https://www.baeldung.com/tag/jdk11-and-later)
- [>= Java 17](https://www.baeldung.com/tag/jdk17-and-later)
- [>= Java 21](https://www.baeldung.com/tag/jdk21-and-later)
- [Security Algorithms](https://www.baeldung.com/tag/security-algorithms)
- [Jsoup](https://www.baeldung.com/tag/jsoup)
- [String Conversions](https://www.baeldung.com/tag/string-conversions)
- [Apache Avro](https://www.baeldung.com/tag/apache-avro)
- [Guava](https://www.baeldung.com/tag/guava)
- [OpenJDK](https://www.baeldung.com/tag/openjdk)
- [LinkedHashMap](https://www.baeldung.com/tag/linkedhashmap)
- [Vaadin](https://www.baeldung.com/tag/vaadin)
- [Iteration](https://www.baeldung.com/tag/iteration)
- [Definition](https://www.baeldung.com/tag/definition)
- [MyBatis](https://www.baeldung.com/tag/mybatis)
- [JsonNode](https://www.baeldung.com/tag/jsonnode)
- [BufferedImage](https://www.baeldung.com/tag/bufferedimage)
- [Flux](https://www.baeldung.com/tag/flux)
- [Autowired](https://www.baeldung.com/tag/autowired)
- [Mono](https://www.baeldung.com/tag/mono)
- [ExecutorService](https://www.baeldung.com/tag/executorservice)
- [Inner Class](https://www.baeldung.com/tag/inner-class)
- [NullPointerException](https://www.baeldung.com/tag/nullpointerexception)
- [Java Collectors](https://www.baeldung.com/tag/java-collectors)
- [Vector Database](https://www.baeldung.com/tag/vector-database)
- [KeyStore](https://www.baeldung.com/tag/keystore)
- [Email](https://www.baeldung.com/tag/email)
- [Baeldung Pro](https://www.baeldung.com/tag/baeldung-pro)
- [Multidimensional Array](https://www.baeldung.com/tag/multidimensional-array)
- [Baeldung All Access](https://www.baeldung.com/tag/baeldung-all-access)
- [Spring Exception](https://www.baeldung.com/tag/spring-exception)
- [pro-code](https://www.baeldung.com/tag/pro-code)
- [XML Conversion](https://www.baeldung.com/tag/xml-conversion)
- [Spring Kafka](https://www.baeldung.com/tag/spring-kafka)
- [JAXB](https://www.baeldung.com/tag/jaxb)
- [XML Basics](https://www.baeldung.com/tag/xml-basics)
- [>= Java 23](https://www.baeldung.com/tag/jdk23-and-later)
- [JavaScript](https://www.baeldung.com/tag/javascript)
- [ASCII](https://www.baeldung.com/tag/ascii)
- [Spring Scheduling](https://www.baeldung.com/tag/spring-scheduling)
- [LangChain](https://www.baeldung.com/tag/langchain)
- [Solr](https://www.baeldung.com/tag/solr)
- [IP Address](https://www.baeldung.com/tag/ip-address)
- [Google Cloud](https://www.baeldung.com/tag/google-cloud)
- [Bouncy Castle](https://www.baeldung.com/tag/bouncy-castle)
- [JPQL](https://www.baeldung.com/tag/jpql)
- [HATEOAS](https://www.baeldung.com/tag/hateoas)
- [ZGC](https://www.baeldung.com/tag/zgc)
- [LambdaTest](https://www.baeldung.com/tag/lambdatest)
- [JDBC Basics](https://www.baeldung.com/tag/jdbc-basics)
- [Boolean](https://www.baeldung.com/tag/boolean)
- [MockBean](https://www.baeldung.com/tag/mockbean)
- [Java Concurrency Basics](https://www.baeldung.com/tag/java-concurrency-basics)
- [JVM Basics](https://www.baeldung.com/tag/jvm-basics)
- [Java Array Basics](https://www.baeldung.com/tag/java-array-basics)
- [Apache Hadoop](https://www.baeldung.com/tag/apache-hadoop)
- [Java Collections Basics](https://www.baeldung.com/tag/java-collections-basics)
- [Gradle Basics](https://www.baeldung.com/tag/gradle-basics)
- [MongoDB Basics](https://www.baeldung.com/tag/mongodb-basics)
- [Logstash](https://www.baeldung.com/tag/logstash)
- [Reactive Basics](https://www.baeldung.com/tag/reactive-basics)
- [Kafka Basics](https://www.baeldung.com/tag/kafka-basics)
- [REST Basics](https://www.baeldung.com/tag/rest-basics)
- [Mockito Basics](https://www.baeldung.com/tag/mockito-basics)
- [Access Modifiers](https://www.baeldung.com/tag/access-modifiers)
- [Compilation Error](https://www.baeldung.com/tag/compilation-error)
- [Java Stream Basics](https://www.baeldung.com/tag/java-stream-basics)
- [Neural Networks](https://www.baeldung.com/tag/neural-networks)
- [Java Set Basics](https://www.baeldung.com/tag/java-set-basics)
- [Java Dates Basics](https://www.baeldung.com/tag/java-dates-basics)
- [Java Map Basics](https://www.baeldung.com/tag/java-map-basics)
- [Java IO Basics](https://www.baeldung.com/tag/java-io-basics)
- [JPA Basics](https://www.baeldung.com/tag/jpa-basics)
- [Java String Basics](https://www.baeldung.com/tag/java-string-basics)
- [CLI](https://www.baeldung.com/tag/cli)
- [Java List Basics](https://www.baeldung.com/tag/java-list-basics)
- [Persistence Basics](https://www.baeldung.com/tag/persistence-basics)
- [Groovy](https://www.baeldung.com/tag/groovy)
- [Spring Persistence Basics](https://www.baeldung.com/tag/spring-persistence-basics)
- [toString](https://www.baeldung.com/tag/tostring)
- [LinkedList](https://www.baeldung.com/tag/linkedlist)
- [OpenAI](https://www.baeldung.com/tag/open-ai)
- [Java Stack](https://www.baeldung.com/tag/java-stack)
- [JSONObject](https://www.baeldung.com/tag/jsonobject)
- [Properties](https://www.baeldung.com/tag/properties)
- [Dapr](https://www.baeldung.com/tag/dapr)
- [MCP](https://www.baeldung.com/tag/mcp)
- [>= Java 25](https://www.baeldung.com/tag/jdk25-and-later)
- [AWT](https://www.baeldung.com/tag/awt)
- [Spring Properties](https://www.baeldung.com/tag/spring-properties)
- [Singleton](https://www.baeldung.com/tag/singleton)
- [LLM](https://www.baeldung.com/tag/llm)
- [Spring REST Docs](https://www.baeldung.com/tag/spring-rest-docs)
- [Currency](https://www.baeldung.com/tag/currency)
- [Zookeeper](https://www.baeldung.com/tag/zookeeper)
- [Load Testing](https://www.baeldung.com/tag/load-testing)
- [MockServer](https://www.baeldung.com/tag/mockserver)
- [Maven Plugin](https://www.baeldung.com/tag/maven-plugin)
- [Refactoring](https://www.baeldung.com/tag/refactoring)
- [Maven Parent](https://www.baeldung.com/tag/maven-parent)
- [Spring Boot 4](https://www.baeldung.com/tag/spring-boot-4)
- [Spring 7](https://www.baeldung.com/tag/spring-7)
- [Business Process Automation](https://www.baeldung.com/tag/bpa)
- [RAG](https://www.baeldung.com/tag/rag)
- [Java Flight Recorder (JFR)](https://www.baeldung.com/tag/java-flight-recorder-jfr)
- [Spring AI ChatClient](https://www.baeldung.com/tag/chatclient)
- [Micrometer](https://www.baeldung.com/tag/micrometer)
- [Database Migration](https://www.baeldung.com/tag/database-migration)
- [VSCode](https://www.baeldung.com/tag/vscode)

## Sprite Groups

- [General](https://www.baeldung.com/aqua_svg_sprite_group/general)

## Link Categories

- [Site - Course Bands](https://www.baeldung.com/?taxonomy=pretty-link-category&term=course-bands)
- [Partner - Datadog](https://www.baeldung.com/?taxonomy=pretty-link-category&term=datadog)
- [Shortcoder Links](https://www.baeldung.com/?taxonomy=pretty-link-category&term=shortcoder-links)
- [Site Links](https://www.baeldung.com/?taxonomy=pretty-link-category&term=site-links)
- [Partner - Codota](https://www.baeldung.com/?taxonomy=pretty-link-category&term=codota)
- [Partner - Cuba Platform](https://www.baeldung.com/?taxonomy=pretty-link-category&term=cuba-platform)
- [Course Thank You Pages](https://www.baeldung.com/?taxonomy=pretty-link-category&term=thank-you-page-june-2020)
- [Partner - DataStax](https://www.baeldung.com/?taxonomy=pretty-link-category&term=datastax)
- [Partner - Snyk](https://www.baeldung.com/?taxonomy=pretty-link-category&term=snyk)
- [Partner - JetBrains](https://www.baeldung.com/?taxonomy=pretty-link-category&term=jetbrains)
- [Partner](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner)
- [Partner - JPA Buddy](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-jpa-buddy)
- [Partner - Fauna](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-fauna)
- [To Delete - Likely](https://www.baeldung.com/?taxonomy=pretty-link-category&term=to-delete-likely)
- [Partner - Cockroach](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-cockroach)
- [Partner - Bellsoft](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-bellsoft)
- [Partner - Lightrun](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-lightrun)
- [Partner - Aspose](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-aspose)
- [Partner - DBSchema](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-dbschema)
- [Partner - vFunction](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-vfunction)
- [Partner - SlashData](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-slashdata)
- [Partner - Frontegg](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-frontegg)
- [Partner - Thundra](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-thundra)
- [Partner - Stargate](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-stargate)
- [Profile Targeting](https://www.baeldung.com/?taxonomy=pretty-link-category&term=profile-targeting)
- [Partner - MongoDB](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-mongodb)
- [Partner - Expected Behavior](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-expected-behavior)
- [Partner - Aegik AB](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-aegik-ab)
- [Partner - Jmix](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-jmix)
- [Partner - Orkes](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-orkes)
- [Courses](https://www.baeldung.com/?taxonomy=pretty-link-category&term=courses)
- [Permanent](https://www.baeldung.com/?taxonomy=pretty-link-category&term=permanent)
- [Partner - Machinet](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-machinet)
- [eBooks](https://www.baeldung.com/?taxonomy=pretty-link-category&term=ebooks)
- [Jobs](https://www.baeldung.com/?taxonomy=pretty-link-category&term=jobs)
- [Partner - Codium](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-codium)
- [Partner - Payara](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-payara)
- [Partner - LambdaTest](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-lambdatest)
- [Partner - Microsoft](https://www.baeldung.com/?taxonomy=pretty-link-category&term=partner-microsoft)

Version History

Version 110/26/2025, 11:02:21 AMvalid
228578 bytes

Categories

blognewsdocumentationdocsbusinesssocial

Visit Website

Explore the original website and see their AI training policy in action.

Visit baeldung.com

Content Types

articlespostspagesapidocumentationtutorials

Recent Access

/baeldung.com/llms.txt

10/29/2025, 11:14:34 AM

API Access

Canonical URL:
https://llmscentral.com/baeldung.com/llms.txt
API Endpoint:
/api/llms?domain=baeldung.com
baeldung.com - llms.txt File | AI Training Guidelines | LLMS Central