spring框架下的 @Qualifier注解和@Autowired注解

Autowired是根据类型进行自动装配的。如果当spring上下文中存在不止一个UserDao类型的bean时,就会抛出BeanCreationException异常;
如果Spring上下文中不存在UserDao类型的bean,也会抛出BeanCreationException异常。我们可以使用@Qualifier配合@Autowired来解决这些问题。

@Autowired(required = false)    //如果显示定义required为false就相当于说明这个属性可以为null相当于@nullable
//根据类型进行自动装配,如果存在多个实例,即会保错
    private Cat cat;                // 通过反射实现不需要set方法
                                     //可以在属性上使用也可以在set方法上使用 但是当同时有对各对象和类型时就会报错
    @Autowired
@Qualifier(value = "dog")   //和autowired组合使用可以不需要byType的要求(当有多个对象)指定要装配的bean id
    private Dog dog;
    private String name;*/
posted @ 2021-11-30 20:00  一刹流云散  阅读(128)  评论(0编辑  收藏  举报