spring扫描自定义注解并进行操作
来源:互联网 发布:红苹果视频矩阵 编辑:程序博客网 时间:2024/05/22 03:07
今天又个需求,就是根据注解来判断是否接口为对外开放,那么启动spring容器的时候把这些注解修饰的bean name放进缓存当中。
/**
* 扫描注解添加服务到缓存以供判断时候为对外开放service
*/
@Component
@Lazy(true)
class AnnotationScannerConfigurer implements BeanDefinitionRegistryPostProcessor {
ArrayList<String> cache=RemoteCache.getCache();
@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException {
}
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory postProcessBeanFactory) throws BeansException {
Map<String, Object> map=configurableListableBeanFactory.getBeansWithAnnotation(RemoteTag.class);
for (String key : map.keySet()) {
cache.add(key);
//System.out.println("beanName= "+ key );
}
}
}
我的AnnotationScannerConfigurer 实现了BeanDefinitionRegistryPostProcessor ,spring启动时会执行postProcessBeanFactory方法,通过postProcessBeanFactory我们就可以拿到@RemoteTag所修饰的bean了。然后随你怎么操作。
使用BeanDefinitionRegistryPostProcessor 是从mybaties的spring扫描实现类得到灵感的。
注意:@Lazy(true)是因为最后加载才能确保把所有@RemoteTag修饰的bean得到并进行操作。
- spring扫描自定义注解并进行操作
- Spring自定义注解扫描与操作
- dubbo--自定义注解spring扫描
- spring 自定义注解的注册与扫描
- 自定义注解并进行动态解析
- spring注解扫描配置
- spring扫描注解
- spring注解扫描
- spring扫描注解
- spring注解扫描
- Spring AOP 自定义注解记录操作日志
- 如何自定义注解Annotation,并利用反射进行解析
- Spring自定义Annotation扫描
- spring 注解扫描bean配置
- Spring注解与扫描,NoUniqueBeanDefinitionException
- spring mvc 扫描与注解
- Spring 自定义注解实现操作日志记录功能
- Spring自定义注解+Aop记录用户操作日志
- 3种for循环 使用方法
- openCV学习笔记(8):利用cvSetImageROI截取/裁剪图片
- Android Camera 实时滤镜(六)
- struts2输入校验(附ActionName-validate.xml文件中正则表达式不起作用的解决方案),PS:有点问题希望知道的人指点下
- 欢迎使用CSDN-markdown编辑器
- spring扫描自定义注解并进行操作
- Ruby gem: Mac 系统下的安装与更新
- IOS开发语言Swift入门连载---析构过程
- Android性能优化之运算篇
- hdu1754 I Hate It
- Linux-(5)Linux下查看文件
- JAVA开源规则引擎
- mybatis like 查询
- POJ3250 Bad Hair Day 单调栈