Spring IOC-类型注入的详解【重点】

原创
2020/04/29 21:52
阅读数 233
AI总结

IOC-类型注入的详解

按名称注入:@Resource(name=”组件名”)

根据组件名在spring容器中寻找该组件对象,

找不到组件对象,spring会报异常

 

按类型注入:@Resource

先根据变量名作为组件名,在spring中进行查找;

若找不到,再根据变量类型在spring容器中寻找该组件对象,

找不到组件对象/找到了多个组件对象,spring都会报异常

 

先按类型注入,如果有多个对象,再名称注入

 

 

应用:

 

配置类:

@Configuration
@ComponentScan(basePackages = {"com.czxy.demo4"})
public class SpringConfiguration {

    @Bean
    public Demo4Dao getDemo4Dao(){
        return new Demo4DaoImplB();
    }
}

 

测试类:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfiguration.class})
public class Demo4Test {

    @Resource(name="d4a")
    private Demo4Dao demo4Dao1;

    /*
    * Resource注解进行按类型注入,没有赋予组件名
    * 会把变量名作为组件名。
    * 先在spring容器中寻找name="d4a",
    * 找不到再按类型注入
    * */
    @Resource
    private Demo4Dao d4a;

    /*
    * 需求:向Demo4Dao接口中,注入Demo4DaoImplB的对象,对象是通过getDemo4Dao拿到的
    * */
    @Resource(name="getDemo4Dao")
    private Demo4Dao demo4Dao2;

    @Resource
    private Demo4Dao getDemo4Dao;
    @Test
    public void run1(){

    }
}

 

 

 

 

看完恭喜你,又进步了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
2
分享
AI总结
返回顶部
顶部