首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring中的哪些模块和类负责实现批注

Spring中的哪些模块和类负责实现批注
EN

Stack Overflow用户
提问于 2018-12-28 09:23:57
回答 1查看 83关注 0票数 1

Spring支持各种注解,库/模块/类/模式处理注解逻辑。spring为@Controller、@RestController实现注释行为的地方...示例:要添加新的自定义注释,我们添加at-sign (@),然后使用Java反射处理内容。那么,在Spring Framework中,他们如何做到这一点,以及当他们升级版本以进行注释时,Spring如何修改逻辑?

@PostConstruct和@PreDestroy被处理到类InitDestroyAnnotationBeanPostProcessor中,所以哪个类处理@RestController。我想要了解@RestController的spring实现是如何实现的,因为我想添加一个新的注释,其中包括@RestController和我的额外逻辑。

EN

回答 1

Stack Overflow用户

发布于 2019-01-07 00:39:19

好的,下面是@Controller / @RestController如何从源代码层面上工作的高级概述。希望这能给你一些方向。详情请参考相关source codes

  1. RequestMappingHandlerMapping bean初始化(即afterPropertiesSet()调用)时,它将找出所有带有@Controller/@RestController注释的bean。使用反射从这些MappingRegistry
  2. When中提取有用的元数据,并将它们存储在它的MappingRegistry.
  3. RequestMappingHandlerAdapter#handleInternal()中。接收到一个@Controller/@RestController

,然后调用HttpServletRequest,从匹配的RequestMappingHandlerMapping#lookupHandlerMethod()调用中找出哪个HandlerMethod可以处理这个HttpServletRequest,最后使用反射来实际调用bean上的方法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53952691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档