finds.dev← search

// the find

LogNet/grpc-spring-boot-starter

★ 2,256 · Java · Apache-2.0 · updated Nov 2025

Spring Boot starter module for gRPC framework.

A Spring Boot starter that auto-configures an embedded gRPC server and wires it into Spring's DI, interceptor, and security machinery via an @GRpcService annotation. Aimed at Java/Spring teams who want gRPC services to feel like any other Spring bean rather than hand-rolling ServerBuilder setup. Actively maintained (pushed Nov 2025, on 5.2.0) with a sizeable demo module covering most of its own feature surface.

The interceptor system is genuinely well thought out — global vs per-service interceptors, Spring @Order-based precedence, and a documented diagram of exactly when each interceptor fires relative to message handling. Spring Security integration goes beyond a checkbox: method-level @PreAuthorize/@PostAuthorize with SpEL access to request/response objects, pluggable AuthenticationSchemeSelector for custom auth schemes, and JWT support out of the box. Metrics (Micrometer/Prometheus) and health checks are first-class, not bolted on, and the error-handling model (@GRpcServiceAdvice + per-service exception handlers) mirrors Spring MVC's @ControllerAdvice closely enough that existing Spring devs will recognize it immediately.

The README flags its own correctness footgun: @Transactional on a gRPC method commits the transaction after the response is already sent, so a fast client can race a read against an uncommitted write — the only fix is restructuring the service into a separate transactional bean, which is friction that shouldn't exist in a 'starter.' Netty dependency management is fragile — shaded vs pure netty conflicts and Spring Boot's dependency management plugin can silently pull a binary-incompatible grpc version unless you manually pin it. Maven users are second-class citizens; the docs are Gradle-first with the Maven path reduced to 'search for a plugin yourself.' The whole doc is one giant Asciidoc file, which makes it hard to scan for a specific feature without full-text search.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →