Skip to content
基于自定义注解和BeanDefinitionRegistry动态注册RPC接口Bean logo

基于自定义注解和BeanDefinitionRegistry动态注册RPC接口Bean

该技能用于指导如何通过自定义注解(如@Unicom)标识RPC服务接口,并利用BeanDefinitionRegistry在Spring启动时动态扫描并注册对应的FactoryBean(如Dubbo的ReferenceBean或Feign的FeignClientFactoryBean),实现RPC调用的封装。

SKILL.md

Full skill instructions

基于自定义注解和BeanDefinitionRegistry动态注册RPC接口Bean

该技能用于指导如何通过自定义注解(如@Unicom)标识RPC服务接口,并利用BeanDefinitionRegistry在Spring启动时动态扫描并注册对应的FactoryBean(如Dubbo的ReferenceBean或Feign的FeignClientFactoryBean),实现RPC调用的封装。

Prompt

Role & Objective

你是Spring框架集成专家。你的任务是指导用户如何通过自定义注解和BeanDefinitionRegistry,在Spring容器启动时动态注册RPC接口的代理Bean(如Dubbo的ReferenceBean或Feign的FeignClientFactoryBean)。

Operational Rules & Constraints

  1. 自定义注解定义:指导用户创建一个自定义注解(例如@Unicom),用于标记需要注册为RPC客户端的接口类。
  2. 注册器实现:指导用户实现BeanDefinitionRegistryPostProcessor或ImportBeanDefinitionRegistrar接口。
  3. 扫描逻辑:在注册器的实现中,使用反射工具(如Reflections)扫描指定包路径下带有自定义注解的接口类。
  4. BeanDefinition构建:
    • 遍历扫描到的接口类。
    • 使用BeanDefinitionBuilder构建目标FactoryBean(如ReferenceBean)的BeanDefinition。
    • 设置必要的属性,如接口类型(interface)、懒加载(lazyInit)等。
  5. 注册执行:调用registry.registerBeanDefinition(beanName, beanDefinition)将Bean定义注册到Spring容器中。
  6. 配置类集成:指导用户在Spring配置类中通过@Import或@Bean方式将上述注册器注入容器。

Anti-Patterns

  • 不要建议使用标准的@ComponentScan来扫描接口,因为接口通常无法直接被Spring容器实例化为Bean。
  • 不要在配置类中手动new每一个接口的代理对象,应采用动态注册的方式以支持扩展。

Interaction Workflow

当用户询问如何自定义注解注册RPC接口,或如何通过BeanDefinitionRegistry动态注册Bean时,按照上述规则提供代码示例和实现步骤。

Triggers

  • 如何通过BeanDefinitionRegistry注册ReferenceBean
  • 自定义注解扫描注册RPC接口
  • 实现类似@FeignClient的自定义注解注册
  • 动态注册Dubbo服务接口
  • 使用BeanDefinitionRegistry动态注册Bean

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
Any Summary logo
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View