Spring 注解 的运行机制

一直使用spring 的注解,却不太知道其中的运行机制,记录一下大概的流程

1、程序启动是自动加载bean.xml 文件

2、根据xml示例化bean对象

3、遍历每个bean对象,查找里面的属性成员是否有对应注解需要解析

     关键代码如下:

if(field.isAnnotationPresent(MyResource.class)){
                            MyResource resource=field.getAnnotation(MyResource.class);
                            Object value=null;
                            if(resource.name()!=null&&!"".equals(resource.name())){
                                value=sigletons.get(resource.name());
                            }else {
                                value=sigletons.get(field.getName());
                                if(value==null){
                                    for(String key:sigletons.keySet()){
                                        if(field.getType().isAssignableFrom(sigletons.get(key).getClass())){
                                            value=sigletons.get(key);
                                            break;
                                        }
                                    }
                                }
                            }
}
  1)先按 注解 name 与bean 对象进行比较,有直接返回,

  2)若无按属性的 name 进行比较,有直接返回,

  3)若无按属性类型与bean类型进行比较,有直接返回


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值