Controller类使用继承@Component注解的方法,将其以单例的形式放入spring容器,如果仔细看的话会发现每个注解里面都有一个默认的value()方法,它的作用为当前的注解声明一个名字,一般默认为类名,然后spring会通过配置文件中的<context:component-scan>的配置,进行如下操作:

  1. 使用asm字节码技术扫描.class文件,并将包含@Component及元注解为@Component的注解@Controller、@Service、@Repository或者其他自定义的的bean注册到beanFactory中,

  2. 然后spring在注册处理器

  3. 实例化处理器,然后将其放到beanPostFactory中,然后我们就可以在类中进行使用了。

  4. 创建bean时,会自动调用相应的处理器进行处理。

举例注解@Autowired 。对于这个注解,您需要在xml中配置这个注解的处理器

AutowiredAnnotationBeanPostProcessor,这个处理器会扫描容器中所有的bean对象,发现bean中拥有@Autowired注解的时候,会自动去找到容器中和这个注解修饰类型匹配的bean对象,并注入到对应的地方去。

  • 那为什么AutowiredAnnotationBeanPostProcessor这个处理器对象我怎么在配置文件中没有看到设置呢?
    那是因为在spring解析<context:component>标签的时候默认这个注解被隐示配置了,还有其他的注解处理器,如CommonAnnoationBeanPostProcessor

spring注解原理:从Controller注解切入了解spring注解原理相关推荐

  1. spring controller 增加header字段forward_Spring 注解编程之模式注解

    上篇文章研究 Spring XML Schema 扩展进制,这段时候一直研究 Spring 注解编程的原理.原本以为有了之前研究基础,可以很快理解注解编程原理.没想到这个过程非常困难,注解编程源码难度 ...

  2. java controller注解原理_SpringMVC运行流程与原理【Controller接口实现注解实现】

    MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑.数据.显示分离的方法来组织代码. MVC主要作用是降低了视图与业务逻辑间的双向偶 ...

  3. java controller注解原理_@Controller、@RestController注解区别详解

    @Controller.@RestController注解区别: @RestController 注解相当于 @Controller + @ResponseBody 合在一起的作用. 一.@Contr ...

  4. java注解的执行顺序_深入理解Spring的@Order注解和Ordered接口

    前言 Spring的@Order注解或者Ordered接口大家都知道是控制顺序的,那么它们到底是控制什么顺序的?是控制Bean的注入顺序,还是Bean的实例化顺序,还是Bean的执行顺序呢?那么我们先 ...

  5. 【Spring】Spring第三天 - 声明式事务、常用注解、Ajax 复习

    一.自动注入 1.在Spring 配置文件中对象名和ref="id" . id 名相同,使用自动注入,可以不配置<property/> 2.两种配置办法 2.1 在&l ...

  6. 注解参数获取不到_scm-springboot基于spring boot的统一注解缓存

    scm-springboot 基于spring boot的统一注解缓存,支持mencached.redis.ehcache的缓存无缝切换.支持单个缓存设置过期时间,灵活的key设置规则,采用fastj ...

  7. Spring data JPA 之 Jackson 在实体里面的注解详解

    8 Spring data JPA 之 Jackson 在实体里面的注解详解 经过前⾯课时的讲解,相信你已经对实体⾥⾯的 JPA 注解有了⼀定的了解,但是实际⼯作中你会发现实体⾥⾯不仅有 JPA 的注 ...

  8. 基于Spring AOP的统一响应体的实现(注解版)

    基于Spring AOP的统一响应体的实现(注解版) 一.前言 在上一篇系列中 我们 统一参数校验,统一结果响应,统一异常处理,统一错误处理,统一日志记录,统一生成api文档, 对于统一数据响应返回规 ...

  9. Spring - 同一个类中的方法互相调用,注解失效问题的分析和解决(转)

    Spring - 同一个类中的方法互相调用,注解失效问题的分析和解决(转) 参考文章: (1)Spring - 同一个类中的方法互相调用,注解失效问题的分析和解决(转) (2)https://www. ...

  10. Spring Boot中的缓存支持(一)注解配置与EhCache使用

    随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...

最新文章

  1. 《Photoshop Lab修色圣典(修订版)》—第1课1.4节逐步校正峡谷图像
  2. EPROCESS ETHREAD简介
  3. Openjudge NOI题库 ch0111/04 网线管理
  4. Linux 环境 C语言 操作MySql 的接口范例
  5. go java gc_图解Golang的GC垃圾回收算法
  6. html映射共享文件夹,怎么在DOS下映射共享文件夹为本地磁盘
  7. java静态变量需要初始化吗_» Java静态变量初始化顺序浅谈
  8. iPhone成交额2秒破亿!京东11.11晚8点战报:5分钟家电成交额破20亿
  9. 【vue开发问题-解决方法】(一)在style中设置background-image时路径问题
  10. faster rcnn源码阅读笔记2
  11. 游艇床垫MED认证证书/床垫Wheel Mark舵轮标识认证
  12. 高斯过程、高斯过程回归、克里金模型
  13. stm32 修改工作频率
  14. win10关机后cpu风扇还在转_win10电脑关机后风扇还在一直转怎么修复
  15. 记一次android设备通过tun0网络连接上级国标平台问题
  16. 【微信机器人】实现保存微信表情包到相册
  17. 现金的消亡与货币的未来之战 |链捕手
  18. 【uniapp】 两种上拉加载方式
  19. 社交网络中基于张量分解的好友推荐
  20. JS jQuery分别获取选中的复选框值

热门文章

  1. matlab chrom(i pos),Matlab遗传算法问题 MATLAB遗传算法
  2. 【MSRA文档智能综述论文】Document AI: Benchmarks, Models and Applications
  3. 清明上河图对计算机技术的启发,吴良镛院士:《清明上河图》启示的城市方向...
  4. 学校计算机考试系统故障,解决在线考试系统设计的常见问题
  5. 一个简单的网页设计HTML5作业
  6. Mediastream2 用法介绍及简明实例分析
  7. Unity3d trial version 水印
  8. linux重启tomcat命令
  9. HTML页面跳转的方法
  10. orbslam2 流程图_一种基于ORBSLAM2的八叉树建图方法与流程