Java RPC Framework: Create Your Own with Spring Boot & Netty

Posted By: IrGens

Java RPC Framework: Create Your Own with Spring Boot & Netty
.MP4, AVC, 1280x720, 30 fps | English, AAC, 2 Ch | 10h 32m | 7.09 GB
Instructor: Justin Gu

From scratch build a Java RPC framework using Netty, Kryo, Reflection, Spring Boot advanced features, custom annotations

What you'll learn

  • Understand the fundamentals of RPC (Remote Procedure Call) and how distributed systems communicate through custom protocols.
  • Master Spring Boot’s advanced extension mechanisms, including custom annotations, ImportBeanDefinitionRegistrar, FactoryBean, and dynamic bean injection.
  • Master Java's core reflection mechanisms to dynamically generate proxy objects and invoke methods at runtime.
  • Apply advanced Java techniques such as annotations, class metadata scanning, and runtime type inspection.
  • Use Netty to implement efficient non-blocking network communication between client and server.
  • Design custom serialization and deserialization protocols to transfer complex objects across the wire.
  • Gain the skills to design and implement your own Java middleware frameworks, transitioning from framework user to framework creator.
  • Build a fully functional Java RPC framework from scratch, writing every line of code without using third-party libraries.

Requirements

  • Basic experience with object-oriented programming and Java development workflows (Maven or Gradle).
  • Solid understanding of core Java concepts such as classes, interfaces, exceptions, and generics.
  • Familiarity with Spring Boot and dependency injection is recommended, but not strictly required.
  • Some exposure to networking concepts (HTTP, TCP/IP) will be helpful but not mandatory.

Description

Are you tired of just using frameworks and libraries without knowing how they work inside?

This course teaches you how to build a real-world RPC framework from scratch, with a strong focus on advanced Spring Boot techniques. You won’t just use Spring Boot — you’ll learn how to extend its internal mechanisms to support dynamic proxy injection, custom annotation scanning, Bean lifecycle hooks, and more.

You’ll start by building a Netty-based communication core, defining your own protocol, encoder, and decoder. Then, you'll integrate high-performance serialization using Kryo to efficiently transmit objects across the network.

Where this course truly shines is in its Spring Boot integration:

  • Use ImportBeanDefinitionRegistrar to extract the startup class’s metadata and scan interfaces dynamically
  • Implement SmartInitializingSingleton to scan all available RPC service methods at runtime
  • Use BeanDefinitionRegistryPostProcessor and FactoryBean to register and inject proxy objects automatically
  • Design custom annotations that trigger client creation and connection logic on application startup

You'll also implement service discovery, heartbeat detection, connection management, and fallback support — everything a production-grade RPC system needs.

Every single line of code is written from scratch — no black boxes, no magic.

By the end of this course, you’ll have built a complete framework similar in architecture to Dubbo or OpenFeign — but every single line is handcrafted, explained, and deeply integrated with Spring Boot.

Who this course is for:

  • Java developers who want to level up from using frameworks to building them.
  • Backend engineers eager to understand the inner workings of RPC systems, serialization, and network communication.
  • Spring Boot users who wish to master its advanced extension points, such as custom annotations and bean lifecycle manipulation.
  • Engineers interested in middleware development, distributed systems, or building lightweight alternatives to existing tools like gRPC or Dubbo.
  • Experienced coders tired of repetitive CRUD work and looking for a technical breakthrough.