Best of Spring Boot — 2024
- 1
- 2
Baeldung·2y
Apache Kafka Tutorial Series
This tutorial series covers essential topics about Apache Kafka, including its basics, how to integrate it with Spring Boot, configuring Kafka SSL, and setting up Kafka using Docker. It also explores Kafka consumer groups, retry mechanisms, and message ordering strategies, providing practical guidance for both newcomers and experienced developers.
- 3
freeCodeCamp·2y
Build a Shopping Cart Backend with Spring Boot and Spring Security
Master Spring Boot and Spring Security by developing a fully functional shopping cart backend application. This course covers project setup, entity class creation, CRUD operations, service and controller development, and security integration using JWT. Suitable for both beginners and experienced developers, it provides practical insights and skills for backend development.
- 4
Community Picks·2y
10 Spring Boot Performance Best Practices
Spring Boot, a popular framework in the Java ecosystem, simplifies application development but sometimes needs optimization for performance. Key practices to enhance performance include using the latest versions of Spring Boot and JVM, enabling virtual threads, leveraging Spring AOT with GraalVM Native Image for faster startup times and reduced memory usage, and employing JVM features like Checkpoint Restore and Class Data Sharing. Configuring threads efficiently for both MVC and database access layers, using effective caching strategies, adopting resiliency patterns like circuit breakers, and incorporating thorough monitoring and profiling are also critical. Tools like Digma can further help by providing performance insights during development.
- 5
Community Picks·2y
Become a Better Java Developer: 19 Tips for Staying Ahead in 2024
Tips for becoming a better Java developer, including upgrading Java versions, learning Kotlin, exploring other languages/frameworks, understanding Loom and Structured Concurrency, getting coverage from Oracle, learning Groovy and Scala, practicing Continuous Feedback, using Ktor, building side projects, focusing on observability, staying connected with the Java community, reading professional developer blogs, following influencers on social media, and signing up for a Java articles reading list.
- 6
Awesome Java Newsletter·2y
Java Performance Optimization Techniques
Optimizing Java code performance is critical, especially considering that most users abandon a page if it takes longer than 3 seconds to load. Key techniques include using Java virtual threads, enabling lazy loading in Hibernate, implementing effective caching strategies, avoiding GenerationType.TABLE due to its performance overhead, and leveraging Hibernate's Query Plan Cache.
- 7
Javarevisited·2y
Top 5 Websites to Learn Spring Framework in Depth
Spring Framework is a popular tool in the Java ecosystem for building robust and scalable applications. To help learners, the post lists five websites that offer comprehensive Spring tutorials and courses: Udemy, Spring Framework Official Documentation, Baeldung, Java Brains, and Spring Framework Guru. These platforms provide resources for both beginners and advanced developers, covering topics from dependency injection to Spring Boot, AOP, and data access.
- 8
Faun·2y
Spring Boot 3.1 JWT Authentication &Authorization: Secure Your APIs Like a Pro🔒
Learn how to secure your Spring Boot 3.1 applications using JWT authentication and authorization. This guide covers creating a Spring Boot project, setting up dependencies, creating secure endpoints, and configuring JWT tokens for user authentication. Includes practical examples and code snippets to help you implement security measures swiftly.
- 9
Community Picks·2y
How Indexing Enhances Query Performance
Indexes play a crucial role in enhancing database query performance by allowing quick data retrieval without scanning the entire dataset. The post explores various types of indexes like primary, secondary, clustered, and non-clustered, and provides examples of their implementation in Spring Boot applications using JPA annotations. It also discusses scenarios where indexing is beneficial, such as high-volume read operations, frequent filtering, sorting, and join operations. Moreover, it highlights when not to use indexes, such as in low-volume tables or columns with low cardinality, and delves into how indexes operate behind the scenes, including index creation and maintenance.
- 10
freeCodeCamp·2y
How to Build an AI Chatbot with Spring AI, React, and Docker
Learn how to build a chatbot application using Spring Boot, React, and Docker. This guide walks you through creating a backend REST API with Spring AI for handling chat messages, generating a chatbot UI with React, and Dockerizing the entire application for easy deployment. The complete source code is available on GitHub for hands-on experimentation.
- 11
Substack·2yGraphQL Explained
GraphQL is a modern query language and server-side runtime that offers a more efficient, powerful, and flexible alternative to traditional REST APIs. It allows clients to request exactly the data they need through a single endpoint, supports real-time updates, and uses a strongly typed schema to ensure predictable and reliable queries. These features make it a popular choice for contemporary web development.
- 12
Baeldung·2y
Returning Errors Using ProblemDetail in Spring Boot
Learn how to use ProblemDetail for standardized error responses in Spring Boot applications. Discover why it's important for API usability, how it streamlines error handling, and explore its implementation in both MVC and reactive applications. Includes setup, configuration, and global exception handling examples, complete with testing methods.
- 13
Awesome Java Newsletter·2y
Structured logging in Spring Boot 3.4
Structured logging in Spring Boot 3.4 allows logs to be written in well-defined, machine-readable formats such as JSON. This enables powerful search and analytics capabilities. It supports the Elastic Common Schema (ECS) and Logstash formats and allows for custom formats. Developers can add additional fields to logs for better filtering and analysis. Logs can be output to the console or written to a file for different use cases.
- 14
Just Java·2y
Java & Spring Best Practices | Factory Pattern
The third module of the java-spring-best-practices repository introduces the Factory Pattern, a design pattern for flexible object creation. Learn how to decouple object creation, enhance scalability, and improve maintainability in your codebase. The module includes practical examples, core principles, benefits, and End-to-End tests for validation.
- 15
Community Picks·2y
5 Tips for Structured Logging in Spring Boot 3.4
Spring Boot 3.4 introduces native support for structured logging using formats like Elastic Common Schema (ECS) and Logstash. This reduces dependency management and enhances observability in applications by capturing logs in a structured manner. The post emphasizes the importance of logs in understanding application behavior, particularly in distributed systems, and highlights best practices for logging. It also underscores the role of tools like OpenTelemetry and Digma in achieving comprehensive observability.
- 16
Kramti·2y
Java Performance Optimization Techniques
Learn key techniques to optimize Java performance, including using virtual threads from Java 19, implementing lazy loading in Hibernate, and utilizing caching strategies in the Spring framework. Additionally, avoid using GenerationType.TABLE for key generation in JPA to enhance efficiency.
- 17
JetBrains·2y
Introduction to Htmx for Spring Boot Developers
Starting a new project can be challenging, especially when deciding on front-end technologies like React, Angular, or Vue. Htmx offers an alternative by allowing developers to use their existing Spring Boot skills to create interactive user experiences with less complexity. By utilizing Htmx-specific attributes in HTML, developers can trigger events and dynamically update the DOM. The post walks through integrating Htmx into a Spring Boot project, showcasing simple to more complex examples. It emphasizes Htmx's ease of adoption and its ability to work incrementally alongside existing technologies.
- 18
Baeldung·2y
Changing Spring Boot Properties at Runtime
Discover how to dynamically manage Spring Boot application configurations at runtime using various methods. Learn about creating prototype-scoped beans, utilizing Spring Cloud's @RefreshScope and /actuator/refresh endpoint, and managing external configuration files. These techniques allow for on-the-fly changes without restarting the application, providing flexibility and enhancing maintainability.
- 19
gitconnected·2y
This should be your first AWS Project if you are a beginner using AWS EC2, VPCs and Spring Boot
This project is an ideal starting point for beginners in AWS, focusing on deploying a simple Spring Boot app using EC2 instances and custom VPCs. You will learn to configure subnets, an Internet gateway, and route tables, as well as hosting a jar file in AWS S3. The guide emphasizes understanding foundational AWS components like EC2 and VPC for a comprehensive cloud learning experience.
- 20
Baeldung·1y
Implementing an AI Assistant with Spring AI
This tutorial delves into the features of Spring AI to create an AI assistant using LLMs like ChatGPT. It highlights the key functionalities, including context-aware response generation, structured output conversion, and integrating with Vector DBs. The process involves setting up necessary dependencies, creating relevant tables, and implementing callback functions. Common concerns like data privacy and maintaining conversational states are addressed using Advisors APIs. Examples demonstrate how to build a chatbot in a legacy Order Management System, showcasing practical applications of these concepts.
- 21
Dev Genius·2y
Kafka Demo Project: Part 1. Producers
This post introduces a step-by-step guide to a Kafka demo project using Java and Spring Boot. It covers setting up a Kafka cluster on Confluent Cloud, configuring the Confluent Schema Registry, and creating a Producer application to send messages to Kafka topics. Essential configurations for the 'application.properties' and 'application.yml' files, as well as Maven dependencies, are also discussed. The post concludes with an example of sending a POST request to the producer and exploring cluster configurations using Kafka's Admin API.
- 22
InfoQ·2y
How Netflix Really Uses Java
Netflix discusses their use of Java, including their journey from Java 8 to Java 17, the benefits of upgrading, and their adoption of Spring Boot. They also explore the use of virtual threads, the DGS framework for GraphQL, and the evolution of their architecture. Overall, it highlights the importance of staying up-to-date with technology and the value of performance improvements.
- 23
Spring·2y
Bootiful Spring Boot in 2024 (part 1)
Java and Spring Boot developers are living in the best time with improved features and tools. The post discusses the benefits of using Spring Boot, the use of Java 21 and GraalVM, the power of Java records, and the introduction of virtual threads for improved scalability.
- 24
Community Picks·2y
Top 7 Techniques to Optimize Caching in Spring Boot
Caching is a recommended technique to improve application performance. The post highlights 7 methods for optimizing caching in Spring Boot applications. Key techniques include identifying ideal caching candidates, setting proper cache expiration policies, implementing conditional caching, choosing between distributed and local caches, customizing key generation strategies, using asynchronous caching, and monitoring cache metrics. The post also mentions how Digma, an observability platform, can help in identifying cache misses and inefficiencies in queries.
- 25
Foojay.io·1y
Task Schedulers in Java: Modern Alternatives to Quartz Scheduler
Quartz has been a long-standing job scheduling library in Java, but several modern alternatives like JobRunr and db-scheduler offer more developer-friendly APIs, better performance, and enhanced support for distributed environments. JobRunr stands out for its ease of use and built-in dashboard, while db-scheduler is appreciated for its simpler configuration. For broader workflow management, solutions like Temporal and Kestra are noteworthy for their resilient and low-code features.