频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
使用Spring处理自定义注解
2015-07-09 10:17:42      个评论    来源:zhanlanmg的专栏  
收藏   我要投稿

使用Spring处理自定义注解

本文只讲思想,不讲代码。

可能的两种方法

spring schema spring aop aspect

参考1

dubbo service 包名:com.alibaba.dubbo.config

参考2

spring mvc 包名:org.springframework.web.servlet.config
可以参考这两个的实现,利用schema添加自定义注解并处理自己的注解,注册搜索模块。

通过schema添加配置解析如: 在 spring配置文件中添加 前提:在 dubbo.xsd 中定义了 annotation 在spring.handlers 定义了处理类com.alibaba.dubbo.config.spring.schema.DubboNamespaceHandler 且 spring.schemas 中定义了上述文件 dubbo.xsd 如此一来,spring 配置文件中的 dubbo:annotation 则会交由DubboNamespaceHandler处理,但是它只是在其它情况时处理一些属性,而在 annotation 时,仅仅是把AnnotationBean这个类注册到springp容器中了。parserContext.getRegistry().registerBeanDefinition(id, beanDefinition); 而AnnotationBean类实现了 以下接口 implements DisposableBean, BeanFactoryPostProcessor, BeanPostProcessor, ApplicationContextAware。其中BeanFactoryPostProcessor, BeanPostProcessor这两个接口可以在类定义完成后做一些处理。这里可以对所有bean进行一次处理,如果扫描到有注解Service或者Reference ,则处理……

总结

这里可以看出,只要有实现了BeanFactoryPostProcessor, BeanPostProcessor接口的bean,则spring 就会执行,所以自定义注解的处理可以在使用此方法处理。甚至不需要schema,只需要在spring配置文件中手动定义这个bean即可。当然,如果需要处理更多自定义标签,使用schema会更方便。另外schema扩展只是为了处理更多标签的,和自定义注解并没有关系的。

其它

网上有更多的自定义注解,讲解的都是基于AOP的方式,通过自定义注解加上@Aspect 的方法面向切面处理一些日志之类的东西。这些方式都是需要在方法被调用时,在方法前或者方法后执行,而不是像spring注解一样,在一开始注册一些东西。

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 注解
上一篇:Web项目同时使用Struts2和SpringMVC
下一篇:java进阶 ------ Java NIO
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站