Spring依赖注入解析与重写--【重写spring系列】

本文探讨了Spring的依赖注入,即控制反转的概念,旨在降低耦合度。文章提出通过扫描构建bean仓库,然后在类调用时进行注入。通过自定义注解,拦截并获取注入类信息,从bean仓库中实例化后进行注入。文章提供了实现步骤,包括创建拦截注解、处理注入请求,并附带测试类展示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍
所谓的依赖注入本质就是控制反转,就像是本来我要什么我就去拿什么,主角是我,是我控制自己去拿我需要的工具,现在为了避免高耦合控制发生反转,我需要什么就有人帮我送过来,从此过上衣来伸手饭来张口的生活
思路

1,首先通过对项目类的class文件进行扫描,构建bean仓库
2,调用及注入,当类被调用时及进行注入
3,通过拦截自定义的注入标签,获取需要注入的类的信息,在bean仓库中,获取需要注入的类的信息,进行实例化后注入所需类

实现
1首先写一个需要作为拦截的注入标签类似spring的 @Autowired

@Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Injection {
   
   
    public   String name() default "";
}

2,当请求发生时,进行所需依赖的注入

        //通过类名反射实例化对应的请求类
            Class c = Class.forName(className);
            //对类进行实例化
            Object class1=c.newInstance();
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值