Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

在看spring 开发文档时,有很多的注解,但是注解的处理逻辑应该是在处理类中,怎么找


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
488 views
Welcome To Ask or Share your Answers For Others

1 Answer

你要问的应该是@Condition系列注解
可以看看这个spring boot @ConditionalOnxxx相关注解总结

注解处理类的查找:
一)有注解处理过程的
1.最普通的是,通过反射查找,clazz.getAnnotation(MyAnnotation.class),注解其实也是一个类
2.Package.isAnnotationPresent()
3.spring的@ResponseBody处理在,spring-webmvc包的RequestResponseBodyMethodProcessor内,hasAnnotation,hasMethodAnnotation等等,由于spring是高度聚合与类的各种hierarchy,反射等等,注解的后置处理不能简单看出如何处理的,需要了解spring的整个框架与气动流程
二)注解本身就包含处理过程
有的注解就是设置值,或者被其他注解的所注解,这就搜索不到处理方法了,具体看注解的定义和该注解上的注解
例如@SpringBootApplication,进入SpringBootApplication会看到他被SpringBootConfiguration与EnableAutoConfiguration注解,而EnableAutoConfiguration里的又有一个@Import会导入

关于注解的后置处理基本就是这些


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...