思路:
- 实现BeanFactoryPostProcessor接口、ResourceLoaderAware接口。
- 在实现类中定义MetadataReaderFactory、ResourcePatternResolver变量。
- 在ResourceLoaderAware接口的setResourceLoader方法中使用SimpleMetadataReaderFactory和ResourcePatternUtils.getResourcePatternResolver分别初始化步骤【2】中的2个变量。
- 在BeanFactoryPostProcessor的postProcessBeanFactory中实现业务逻辑。
- 根据自己的需要的信息来过滤类元素信息。
- 通过resourcePatternResolver.getResources(locationPattern)获取所有Resource列表。
- 通过metadataReaderFactory.getMetadataReader(classResource)获取MetadataReader,metadataReader.getClassMetadata()可以获取类的元数据信息。
示例代码:
/**
* @description: 把rpc服务发布成SpringBean的注册器,实现服务本地化,使用者只需要把接口@Autowired即可
* @author: gongqi
* @create: 2018/09/10 11:46
*/
public class RpcToSpringBeanRegister implements BeanFacto