private void initGrpClientConstructorInjections() {
        Iterable<GrpcClientConstructorInjection.Registry> registries;
        try {
            registries = getConfigurableBeanFactory().getBean(GrpcClientConstructorInjection.class).getRegistries();
        } catch (NoSuchBeanDefinitionException ignored) {
            return;
        }

        for (GrpcClientConstructorInjection.Registry registry : registries) {
            try {
                Object clientStubInstance =
                        processInjectionPoint(null, registry.getStubClass(), registry.getClient());

                // Bind generated client stub instance to specific constructor parameter by ConstructorArgumentValues in
                // BeanDefinition
                registry.getTargetBeanDefinition()
                        .getConstructorArgumentValues()
                        .addIndexedArgumentValue(registry.getConstructorArgumentIndex(), clientStubInstance);

            } catch (final Exception e) {
                throw new BeanCreationException("@GrpcClient on class " + registry.getTargetClazz().getName(),
                        "@GrpcClient constructor injection, parameter index=" + registry.getConstructorArgumentIndex(),
                        "Unexpected exception while binding gRPC client stub instance to constructor parameter",
                        e);
            }
        }
    }
Triggers registering grpc client beans from GrpcClientConstructorInjection.
grpc-client-spring-boot-starter/src/main/java/net/devh/boot/grpc/client/inject/GrpcClientBeanPostProcessor.java