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
.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.